*我需要我的复选框列表选项以垂直显示而不是默认的水平显示.我在名称模板的src文件夹中创建了一个文件夹,另一个名为vertical-checkbox的文件夹包含我自定义复选框的修改后的.ftl文件list.I我无法显示自定义复选框我在JSP中的代码是
<s:checkboxlist theme="vertical-checkbox" label="Which of the following are states of India"
name="states"
list="#{'01':'January','02':'February','03':'March','04':'April',
'05':'May'}"
/>
Run Code Online (Sandbox Code Playgroud)
请告诉我出错的地方.
小智 9
通常,struts2中的struts checkboxlist会水平显示复选框.在大多数应用程序中,我们希望垂直显示复选框(逐行).为了将其对齐为垂直,我们必须执行以下操作
您必须在src文件夹中创建目录模板
创建一个文件夹,其中包含您要创建的模板的名称(vertical-checkbox)
将struts-2.1.6/src/core/src/main/resources/template/simple/checkboxlist.ftl文件复制到此文件的目录内容如下.在您必须根据需要
添加标签或喜欢此链接之前:http:
//codeglobe.blogspot.com/2009/09/struts2-align-check-box-vertical.html
<s:checkboxlist list="urlist" name="selectedValues" listKey="id" listValue="descrption" theme="vertical-checkbox"></s:checkboxlist>
这将为您提供一个垂直复选框列表.唯一的区别是,您必须在此处指定主题,该主题与您在项目的src文件夹中的模板目录中创建的目录相同.
我尝试了这里提供的答案,但它没有按照我的希望工作,我在列表上丢失了标签,而且其他格式也消失了.所以,我通过css做到了:
<s:checkboxlist
name="myCheckboxList"
... />
Run Code Online (Sandbox Code Playgroud)
这导致像这样的html元素:
<input type="checkbox" id="myCheckboxList-1" ... />
<label for="myCheckboxList-1" ...
<input type="checkbox" id="myCheckboxList-2" ... />
<label for="myCheckboxList-2" ...
Run Code Online (Sandbox Code Playgroud)
使复选框垂直的CSS看起来像这样:
label[for*=myCheckboxList-]:after {
content:"\A"; white-space:pre;
}
Run Code Online (Sandbox Code Playgroud)
选择器声明"在每个带有包含'myCheckboxList-'的for-属性的标签之后,并且内容状态"添加换行符("\ A")并确保保留空格".
小智 0
如果没有看到修改后的 .ftl 文件,很难判断哪里出了问题,但一般的解决方案是:
在复制的文件中,在 checkboxLabel 类和迭代器之间添加一个分隔符:
<label ... class="checkboxLabel">
<br>
</@s.iterator>
Run Code Online (Sandbox Code Playgroud)引用/包含新的 .../template/checkboxlist.ftl 以覆盖标准 checkboxlist.ftl。
如果我没记错的话,上面也可以在 CSS 中完成,但我忘记了细节。
| 归档时间: |
|
| 查看次数: |
11870 次 |
| 最近记录: |