为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JSF中使用“Binding”属性?何时和如何使用它?

如何在JSF中使用“Binding”属性?何时和如何使用它?

如何在JSF中使用“Binding”属性?何时和如何使用它?有很多不同的材料value属性和binding属性在JSF中。我对这两种方法的不同感兴趣。给予:public class User {     private String name;     private UICommand link;     // Getters and setters omitted.}<h:form>     <h:commandLink binding="#{user.link}" value="#{user.name}" /></h:form>当一个value属性指定。获取器运行以返回name属性的属性值User豆子。该值被打印到HTML输出中。但我不明白binding起作用了。生成的HTML如何维护与link的属性User豆子?下面是人工美化和注释后生成的输出的相关部分(注意id)。j_id_jsp_1847466274_1是自动生成的,并且有两个隐藏的输入小部件)。我正在使用Sun的JSFRI,版本1.2。<form action="/TestJSF/main.jsf" enctype="application/x-www-form-urlencoded"     id="j_id_jsp_1847466274_1" method="post"  name="j_id_jsp_1847466274_1">     <input name="j_id_jsp_1847466274_1" type="hidden" value="j_id_jsp_1847466274_1">     <a href="#" onclick="...">Name</a>     <input autocomplete="off" id="javax.faces.ViewState" name="javax.faces.ViewState"         type="hidden" value="-908991273579182886:-7278326187282654551"></form>在哪里binding存放在这里?
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

每个JSF组件都将自己呈现为HTML,并完全控制它生成的HTML。JSF可以使用许多技巧,而这些技巧中的哪些将取决于您正在使用的JSF实现。

  • 确保每个FROM输入都有一个完全唯一的名称,这样当表单被提交回呈现它的组件树时,很容易知道每个组件可以在哪里读取其值表单。
  • JSF组件可以生成提交给Serer的javascript,生成的javascript也知道每个组件的绑定位置,因为它是由组件生成的。
  • 对于hlink之类的内容,您可以将绑定信息作为查询参数或url本身的一部分或matrx参数包含在url中。举个例子。

    http:..../somelink?componentId=123将允许jsf在组件树中查看链接123已被单击。或者它可以htp:..../jsf;LinkId=123

回答这个问题的最简单方法是创建一个只有一个链接的JSF页面,然后检查它生成的html输出。这样,您就可以确切地知道使用您正在使用的JSF版本是如何发生这种情况的。


查看完整回答
反对 回复 2019-05-30
  • 2 回答
  • 0 关注
  • 652 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信