浏览 2461 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-28
eclipse 3.2 myeclipse 5.1 hibernate 3.1(myeclipse add capacity自动加载的) jstl 1.1(同样是自动加载的) sun jsf 1.1.01(同样是自动加载的) j2se sdk 1.6 mysql 5.0 tomcat 5.5.20 在网上看了很多教程, 我在myeclipse5里也做一个简单的login程序, 但是老是出现错误,我的程序就只有三个页面 一个index.jsp,一个success.jsp和fail.jsp 不知道为什么在index.jsp里绑定bean时就老出现IllegalArgumentException这样的错误或是说bean无法初始 数据库用hibernate连的,写了两个.java的文件测试能正常运行 我的数据库也非常简单 一个表只有三个健值 id(BINGINT) username(varchar(20)) password(varchar(20)) 大家能不能帮我看看我的程序,帮我改改.....都两三个月了,我还是没能正常写出一个jsf程序,总是处处碰壁 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-16
<h:inputText binding="#{userBean.username}" value="username"
maxlength="20"></h:inputText> <br> <h:inputText binding="#{userBean.password}" value="password" maxlength="20"></h:inputText> 上面是从你的代码里copy出来的,注意粗体部分。 jsf中的绑定有两种,一种是组件绑定,一种是值绑定。 binding是组件绑定,它是通过EL表达式和后台Bean中的某个属性绑定,而这个属性的类型必须是该组件类型,按你这里的标签是<h:inputText />,对应的组件类型则是javax.faces.component.html.HtmlInputText。所以需要组件绑定的话,就必须在你的后台Bean里声明这样一个类型的属性,在标签里使用binding通过EL表达式将这个属性与页面组件进行绑定,绑定以后就意味着你可以直接在Bean里通过对该属性的引用来操作组件树上的这个组件。 value是值绑定,也是必须通过EL表达式进行绑定,这个才是你现在所理解的和需要的绑定,这个绑定才是将该组件得到的用户输入值和后台Bean的某个属性(比如name之类)进行绑定。 你这里根本没用到组件绑定,只有值绑定,所以正确写法应该是: <h:inputText value="#{userBean.username}" maxlength="20"></h:inputText> <br> <h:inputText value="#{userBean.password}" maxlength="20"></h:inputText> |
|
返回顶楼 | |