<s:text> 标签的Name属性值 是一个动态的值
如:
<s:text name="<s:property value='xxxx'>" /> 这样是不行,
有没有比较好的办法 解决 这个问题?
显示出来的是字符
我需要把这个字符国际化

解决方案 »

  1.   

    这个显示出来的动态值很多,不可以的 如果用if else判断 很麻烦
      

  2.   

    资源文件中 
    a=“hello”
    b=“world”
    <s:text name="XXX"/>XXX是动态的显示为 

    b如果XXX直接在标签中这样写:<s:text name="a"/>
    是可以的,显示为hello
      

  3.   

    <s:textfieid name="user.name" label="用户名"/> 用这个
      

  4.   

    <s:text name="xxxx" />
      

  5.   

    好像在<s:text>
            <s:param> </s:param>  
         </s:text>
    在<s:param>里传入需要动态显示的内容!
      

  6.   

    调用后台  getText() 方法<s:propertry value=%{getText('')} /> .要保证 getText() 在你传过来的 action 方法中能正常使用拜托 LZ, struts 2 标签请不要嵌套还有. 先把需求完全弄明白了,再想解决方案...
      

  7.   

    Soryy, 上面的语句没写规范, html 标签属性要用 引号 引起来 "" ,且使用小写
      

  8.   

    方法很多,<s: property value="">
    ${name}
    ${name}推荐
      

  9.   

    谢谢你的回答,<s:text name="XXX"/>
    这里的XXX是<s:itreater />遍历出来的数据,
    显示的是字符,这个字符在资源文件中 需要做国际化。
    如果直接这么写:
    <s:text name="a"/>
    则能够在资源文件中找到 a=“hello”
    显示为hello
    但是 如果为动态的数据
    则直接显示 为 a现在想做到的是 <s:text name="var"/>
    这个var遍历出来后,对应的是资源文件的value 显示的而不是这个key。
     
      

  10.   


    这个我也去 试过,但是<s:text>里的name 怎么填写?
    <s:param> 的value值直接写的话 也得不出来的。
      

  11.   

    楼主,我那个没错,我来教你怎么弄吧
    假如我现在有个temp_zh_CN.properties 里面是hello = \u4f60\u597d:{0}
    然后我在jsp里面用如下就能动态显示
    <s:i18n name="temp">
       <s:text name="hello">
    <s:param>yaya</s:param>
       </s:text>
    </s:i18n>
    这样jsp页面就能显示 你好yaya
      

  12.   


    谢谢朋友热心的回答,可是跟我想要的有点出入。
    资源文件中的键值如下:a=你好
    b=再见
    c=欢迎jsp页面.pageData 是list,pageData.var 指其中的某个字段 可变的,显示出来为字符,也就是在资源文件中的key。
    这个字符需要在资源文件中做国际化。<s:iterator value="pageData" status="stat">
    <s:text name="pageData.var"></s:text>
    </s:iterator> 如果采用上面这样的写法,显示的结果为a b c
    我需要显示的是资源文件中key对应的value:你好 再见 欢迎
    这样,不知明白我的意思没有。再次感谢你的回答
      

  13.   

    <s:iterator value="pageData" status="stat">
    <s:text name="%{pageData.var}"></s:text>        
    </s:iterator>    
      

  14.   

    上面写错了
    <s:iterator value="pageData" status="stat"> 
    <s:text name="%{#pageData.var}"> </s:text>        
    </s:iterator>    
     
     
      

  15.   

    一个角落发现的,解决了问题 %{var}http://translate.google.com.hk/translate?hl=zh-CN&sl=en&u=http://www.coderanch.com/t/420711/Struts/Application-Frameworks/Struts-or&ei=NSPVS-X3EpeXkQWdyuCeDA&sa=X&oi=translate&ct=result&resnum=1&ved=0CAsQ7gEwAA&prev=/search%3Fq%3D%253Cs:text%2Bvar%253D%2522%2522%2Bname%253D%2522%2522%2Bsearch%2BValueStack%253D%2522%2522%253E%26hl%3Dzh-CN%26newwindow%3D1%26safe%3Dstrict%26client%3Dpub-0676661022110159%26sa%3DX%26prog%3Daff%26source%3Dsdo_sb%26sdo_rt%3DChBL1PeLAAQ-zwpvNxW9hVT8Eg5fX1JMX0RFRkFVTFRfXxoIOvjDr21f_s4oAVi2n-akwtGnwAU
      

  16.   

    <s:text name="label.username"/>
     label.username 被国际化为   用户名