struts标签 checkboxlist 默认是不换行的,显示列表会非常丑,百度了一圈解决办法就是要修改源文件
找到struts core的jar包 找到template -simple 找到checkboxlist.ftl这个文件
修改如下
代码语言:javascript复制<#--
/*修改s:checkboxlist 增加换行功能;调用方法<S:checkboxlist template="customcheckboxlist.ftl">
*
* $Id: customcheckboxlist.ftl 6484 2009-12-14 02:33:28Z alvis.yeo $
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
-->
<#assign itemCount = 0/>
<#if parameters.list?exists>
<@s.iterator value="parameters.list">
<#assign itemCount = itemCount 1/>
<#if parameters.listKey?exists>
<#assign itemKey = stack.findValue(parameters.listKey)/>
<#else>
<#assign itemKey = stack.findValue('top')/>
</#if>
<#if parameters.listValue?exists>
<#assign itemValue = stack.findString(parameters.listValue)/>
<#else>
<#assign itemValue = stack.findString('top')/>
</#if>
<#assign itemKeyStr=itemKey.toString() />
<#if itemCount-1%3 == 0>
<tr width="100%">
</#if>
<td width="200px">
<input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>
<#if tag.contains(parameters.nameValue, itemKey)>checked="checked"<#rt/>
</#if>
<#if parameters.disabled?default(false)>disabled="disabled"<#rt/>
</#if>
<#if parameters.title?exists>title="${parameters.title?html}"<#rt/>
</#if>
<#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
<#include "/${parameters.templateDir}/simple/common-attributes.ftl" />
/>
<label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label>
</td>
<#if itemCount%3 == 0>
</tr>
</#if>
</@s.iterator>
</tr>
</table>
<#else>
</#if>
将修改后的文件 放到工程下 src 新建一个包template.simple 将此文件放到包下
如图:
以上是三个一组然后换行 根据自己需要对应的调整:
效果: