没搞懂如何使用 JSF 的隐藏输入传递参数的问题,如果传递参数得要有一个来源,一个去向比如<h:inputText value="#{user.name}"/> 来源是用户在输入框输入的参数,去向是user这个backbean的属性值。然后看隐藏输入的例子:<h:inputHidden value=”#{bb.id}”/>  这是把什么值绑定到 bb这个bean的id属性上了呀?或者这个bb.id不是去向而是来源,那么在后台bean里是通过什么方法取得这个值的呀。能给个说明,如何得到隐藏的值吗?谢谢!

解决方案 »

  1.   

    来源可以是bean中的初始数值,
    也可以是通过录入信息生成的值,
    其实和inputText一样,只是让用户看不到,不能录入罢了
      

  2.   

    和inputtext是一樣的!只不過相當與只讀的
    你是不需要寫set方法的。
      

  3.   

    谢谢楼上两位,我用inputHidden 是为了把一个session Bean的属性值,通过页面,传递给另一个Bean 使用。比如用户发消息。登陆后,在消息输入页,隐藏user.name属性值,提交的时候,把这个隐含的值传递给另一个backbean  dbin.name,功能是把消息内容和发件人保存在数据库里。我现在倒是已经绕过这个问题了,用 commandLink 加 <f:param 实现参数的传递    可是搞不懂inputHidden 的用法还是不死心,自己试了半天都不成,能给个例子吗?我在网上看了几个例子,好像我对这东西的理解有误,看不出它能把其他bean的属性值,传给另一个bean的功能,能说的更详细点吗,把什么值,传到什么地方去呀。谢谢呵呵
      

  4.   

    没必要搞得这么复杂,在一个session bean里是可以直接读取另外一个session bean的属性值的,方法是
    (your beanName)getValueBinding(getJsfEl("beanName")).getValue(FacesContext.getCurrentInstance());
      

  5.   

    多谢楼上提醒,呵呵,你给的代码可能需要其他的包,我没找到,原来真的可以从一个bean直接取得另一个bean的属性,我找了一个文章,测试通过了http://jsffaq.com/Wiki.jsp?page=HowToAccessOneManagedBeanFromAnotherManagedBean现在可以通过种方式得到其他bean的属性值了,足够了,哈哈结贴,多谢楼上三位,虽然我还是不知道inputhidden 是干吗用的。呵呵