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

» JWorld@TW » Web Framework » JSF  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 MyFaces -> tomahawk -> sandbox -> inputTextAjax 好像沒有反應
kcleung





發文: 19
積分: 0
於 2007-06-02 13:48 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
執行後,瀏覽器顯示了 inputTextAjax 元件,
但任意輸入了幾個字元,再清除所有字元之後,
這個元件的框線變了紅色,但沒有其他反應,
message 元件好像從來沒有呈現出來,
請問應該怎樣才可以呈現錯誤訊息 ?

當瀏覽器每次進行 xmlHttpRequest 時,Tomcat 5.5 console 都會出現警告:

org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Invalid chunk ignored.


請問如果解決這項警告 ? 謝謝。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:jsp="http://java.sun.com/JSP/Page"
  xmlns:s="http://myfaces.apache.org/sandbox"
  xmlns:t="http://myfaces.apache.org/tomahawk" version="2.0">
  <jsp:directive.page language="java"
    contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" />
  <jsp:text>
    <![CDATA[ <?xml version="1.0" encoding="UTF-8" ?> ]]>
  </jsp:text>
  <jsp:text>
    <![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ]]>
  </jsp:text>
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"
    lang="en-US">
  <head profile="http://www.w3.org/2000/08/w3c-synd/#">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>s:inputTextAjax</title>
  </head>
  <body>
  <f:view>
    <h:form>
      <h:panelGrid columns="1">
        <s:inputTextAjax id="text" validator="#{inputTextAjax.validate}">
        </s:inputTextAjax>
        <t:message id="message" for="text" styleClass="error" />
      </h:panelGrid>
    </h:form>
  </f:view>
  </body>
  </html>
</jsp:root>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package s;
 
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
 
public class InputTextAjax implements Validator {
 
  private String text;
 
  public String getText() {
    return text;
  }
 
  public void setText(String text) {
    this.text = text;
  }
 
  public void validate(FacesContext context, UIComponent component, Object obj)
      throws ValidatorException {
 
    String text = (String) obj;
    if (text.trim().equals("")) {
      FacesMessage message = new FacesMessage(
          FacesMessage.SEVERITY_ERROR, "Empty",
          "Empty is not allowed.");
      throw new ValidatorException(message);
    }
    this.text = text ;
  }
}


kcleung edited on 2007-06-02 13:54
reply to postreply to post
作者 Re:MyFaces -> tomahawk -> sandbox -> inputTextAjax 好像沒有反應 [Re:kcleung]
roysiu





發文: 236
積分: 0
於 2007-06-02 15:40 user profilesend a private message to usersend email to roysiureply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
你是否懂得JSF? 知道的話應該不會這樣寫的 ... ... 建議不要未學個阿媽,先學個仔 ... ... 請原諒我好像說粗話似的,但學東西要由根學起,否則只能得其形,很快便會忘掉了 (說到好老成似的,其實我很後生的呀Big Smile)... ...

roysiu edited on 2007-06-03 09:57
reply to postreply to post
作者 Re:MyFaces -> tomahawk -> sandbox -> inputTextAjax 好像沒有反應 [Re:kcleung]
kcleung





發文: 19
積分: 0
於 2007-06-02 20:10 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
請問呀仔應該學甚麼 ? 謝謝

reply to postreply to post
作者 Re:MyFaces -> tomahawk -> sandbox -> inputTextAjax 好像沒有反應 [Re:kcleung]
roysiu





發文: 236
積分: 0
於 2007-06-02 20:30 user profilesend a private message to usersend email to roysiureply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
就這個 PO "呀媽"要先學:
1. 在基本 JSF的 ui component上用 Built-in 的 Validator
2. 寫 Custom 的 Validator 和如何應用在基本 JSF ui component之上

"呀仔"則要學如何看 api docs,最好是懂直接看其source code (因為可以參考或直接抄 myfaces 怎樣 extends JSF 的 validator),
如果想"明"的話則要看 common.js 和懂如何使用 "tomahawk" js object ... ...
(這個也是建議的,因為一理通百理明,你可以選擇不用sandbox,而改用其他 project ... ...)

"呀媽"和"呀仔"有關於 validator的 concept和使用方法基本上是一樣的,只要懂前者的話,後者應該
是沒有問題的,ajax相關的 coding已經被 encrypted了Big Smile


roysiu edited on 2007-06-02 22:13
reply to postreply to post
作者 Re:MyFaces -> tomahawk -> sandbox -> inputTextAjax 好像沒有反應 [Re:kcleung]
roysiu





發文: 236
積分: 0
於 2007-06-03 17:35 user profilesend a private message to usersend email to roysiureply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
有個朋友問我為何我會沒來頭第一句就說 「你是否懂得JSF?」,而我想有很多朋友也都不很清楚,所以我在此 "開估"。

其實如果有嘗試用過 JSF的基本 UI component並用其 validation的話,也會知道缺省每一個 UI Component 也有一個 attribute叫 "required" 的。如果如此PO最開頭的 code,只是想check 那個 input是不是 empty 的話,只需要:
1
<s:inputTextAjax id="text" required="true"/>

便行了,而不需要另開一個新類別。而且如那個類別實作的話 Error Message是Hard code的 ... ...

我過往打工經常要做的是 bug fix的工作,我每次見到這些 coding就很想罵人,所以便劈頭寫了一句質問語,如有得罪,謹此致歉。

(還有一點很想說的是﹕JSF本身是一個很 OO的 Web Framework,用得好還是不好除了要知道其基本的用法以外,
就是要有強健的 oo技巧和概念,否則用了等於沒有用,如果 project交期緊張,而又從來沒有用過 jsf的話,奉勸勿用為妙。
學是可以,但個人認為最起碼對此 framework要有八成屬知程度,以至可以做customization,才好應用在 project之上 ... ...)


roysiu edited on 2007-06-03 19:22
reply to postreply to post
» JWorld@TW »  Web Framework » JSF

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

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8