代码<td><s:radio key="systemConfig.crossReginFlag"
id="systemConfig.crossReginFlag"
list="#{0:getText('systemConfig.crossReginFlag.0'),1:getText('systemConfig.crossReginFlag.1')}"
listKey="key" listValue="value" theme="simple" required="true"
cssStyle="width:150px;" />
</td>
这里从资源文件中取出信息,一共两条,作为选择项显示的结果是下图上面的情况现在想改为下面的情况 也就是分行显示  怎么处理呢?~ 百度了好久不行 没有类似的答案

解决方案 »

  1.   

    1.修改struts2-core-2.1.8.jar包里template.simple包里radio.ftl模板
    2.用css控制一下,cssStyle="width:150px;" 把width改小一点试试。cssStyle="width:20px;"
      

  2.   

    对于页面的元素html有提供的都尽量使用html的元素标签,struts2的组件标签css和皮肤很难调整。用<input type="radio"/>这种元素的html元素标签配合<s:iterator>使用调整css更方便
      

  3.   

    你直接用input 然后迭代你的数据。
      

  4.   

    知道你的意思,这个是jsp页面,项目统一的都是用struts标签,现在只是叫我改一下显示外观,因为涉及到数据库取值等问题,这个估计是不能动的,也不会改~! 还有就是水平不行,看不太懂后台怎么取的值~!
      

  5.   

    用struts2标签不代表就不能用html元素,struts2组件标签布局都是用freeer模板写好的,改动起来极不方便。从楼主的struts2标签来看可以看出是迭代systemConfig.crossReginFlag并且systemConfig.crossReginFlag是一个集合你的radio显示的时候以systemConfig.crossReginFlag的索引作为radio的value以systemConfig.crossReginFlag对应索引的元素作为他显示的内容,现在使用iterator和html元素来替代同等效果<td><!--用ul这种菜单的元素就可以一个li一行-->
    <ul>
    <!--iterator每次迭代一个元素就会把这个元素放入栈顶-->
    <s:iterator value="systemConfig.crossReginFlag" var="crossReginFlag" status="st">
    <li>
    <input type="radio" value="${st.index}">
    <s:property value="getText(#crossReginFlag)"/>
    </li>
    </s:iterator>
    </ul>
    </td>
      

  6.   

    无语~!
     list="#{0:getText('systemConfig.crossReginFlag.0'),1:getText('systemConfig.crossReginFlag.1')}"
    改成
     list="#{0:getText('systemConfig.crossReginFlag.0')+'<br>',1:getText('systemConfig.crossReginFlag.1')}"