JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Servlet/JSP 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 Java Bean的作用時機
magyc





發文: 5
積分: 0
於 2010-06-29 14:44 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
小弟最近在寫jsp的網頁
畫面上的input欄位資料是用bean去儲存
但對baen作用的時間存有些疑問

主要部份結構大致是這樣

<jsp:useBean id="queryBean" class="testBean" scope="session" />

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form id="queryForm" action="query" method="post" name="queryForm">
<jsp:setProperty name="queryBean" property="*" />
<input type="text" name="cardNo" readonly="readonly" value="<jsp:getProperty name="queryBean" property="cardNo" />" />
<input type="submit" name="doQuery" value="查詢" />
</form>
<div id="queryResult">
<jsp:getProperty name="queryBean" property="resultToHtmlTable" />
</div>
</body>
</html>

我的做法是可以在testBean裡面做查詢動作產生一個RecordSet物件
在查詢動作產生前要先根據testBean裡面的成員來做SQL條件的串接
然後頁面重載之後呼叫GetResultToHtmlTable()這個方法根據RecordSet物件內的資料拼好一個HTML表格後回傳

可是實際跑過幾個流程後有發現幾個問題

原本servlet的做法是當我按下查詢之後
後台的queryServlet物件會取得testBean物件
然後呼叫裡面的doQuery()方法進行查詢並產生RecordSet物件
接者用RequestDispatcher.forward()到剛剛的JSP網頁

而這樣的做法執行流程是
1.送出查詢
2.後台的servlet呼叫testBean.doQuery()方法進行查詢
3.RequestDispatcher.forward()
4.JSP頁面中的<jsp:setProperty>及<jsp:getProperty>被執行
5.<jsp:getProperty name="queryBean" property="resultToHtmlTable" />被執行並顯示結果表格
※這邊是下了message所得知的執行過程

問題一:以上有問題的地方是第2點
因為<jsp:setProperty>並沒有先被執行
所以在這邊所取得的查詢條件並不是最新的資料而是上一次輸入的資料

比如說我第一次在畫面上輸入了123,按送出
因為<jsp:setProperty>沒有先作用,所以查詢條件串出來是空的可是畫面還是安穩的顯示123

第二次再輸入456,送出
查詢條件串出來的是123,畫面顯示的是456

這樣看起來<jsp:setProperty>及<jsp:getProperty>似乎在網頁被載入時才作用
這邊的邏輯就怪怪的

問題二:如果一開始我在查詢條件的欄位內輸入了非空值的資料
<jsp:setProperty>會作用並且將值帶入
但如果第二次我把查詢條件清空<jsp:setProperty>就不會作用(也就是資料實際沒有被清空)
重載頁面之後原本應該刪除的欄位資料又跑出來了

第一次碰JSP都不太了解架構
懇請幫忙解答~


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
1268 Java Bean的作用時機 magyc 1710 2010-06-29 14:44
1078 Re:Java Bean的作用時機 becca0330 188 2010-07-01 09:51
» JWorld@TW »  Servlet/JSP 討論區

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8