struts2怎么用s:set设入一个对象
比如:<s:set var="rootNode" value="tree.rootNode" />
rootText: <s:property value="#rootNode.text" /><s:property value="#rootNode.text" />取不到值,但是实际是有值的
比如我这样直接取就能取到值:rootText: <s:property value="tree.rootNode.text" />

解决方案 »

  1.   

     <s:property value="rootNode.text" />
      

  2.   

    <s:property value="%{#rootNode.text}" />
      

  3.   

    <s:property value="${rootNode.text}" />
      

  4.   

    <s:set name="rootNode" value="tree.rootNode" />rootText: <s:property value="#rootNode.text" />
      

  5.   

    <s:property value="${rootNode.text}" />报错<s:property value="%{#rootNode.text}" />取不到值<s:set name="rootNode" value="tree.rootNode" />取不到值
      

  6.   

    <s:set name="rootNode" value="%{tree.rootNode}" />
    rootText: <s:property value="#rootNode.text" />
      

  7.   

    取不到,而且struts文档里面标注name已经过时,用var替代
      

  8.   

    我单个对象都是直接赋值不用set
    <s:property value="rootNode.text" />
    这样能行 
    你看action传过来值没
      

  9.   

    这样不行吧,action都没有rootNode这个属性,action有传值过来,<s:property value="tree.rootNode.text" />,这样子就可以,但因为我下面有一个循环,要用到tree.rootNode,我就像用set设置为rootNode,省的每次都写tree.rootNode
      

  10.   


            <s:set name="LOCALE_SESSION"  value="#session['WW_TRANS_I18N_LOCALE']" />
       <s:bean name="com.jackay.i18ntest.Locales" var="localed">
       <s:param name="cussomLocale" value="#LOCALE_SESSION == null ? locale : #LOCALE_SESSION "></s:param> 
         </s:bean>这是我写过的代码,没有你这种错误啊。
    我觉得你的错误是在:
               设置值的时候,没有指定范围。他找不到数据。
                  <s:set var="rootNode" value="tree.rootNode" />
                   你这里的:tree.rootNode是从哪个范围读取来的.......记得结贴哦
      

  11.   


    action里面有个属性tree,你这方式跟我的方式有点儿不一样啊
      

  12.   

    <s:set>会调用对象的toString方法,根本得不到原对象,你用EL表达式试一下就知道了,其实是会报错的.
      

  13.   

    <s:set name="tree.rootNode" value="rootNode" />
    rootText: <s:property value="#rootNode.text" />