struts标签 checkboxlist 换行解决办法

2020-11-09 10:18:53 浏览数 (1)

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 将此文件放到包下

如图:

以上是三个一组然后换行 根据自己需要对应的调整:

效果:

0 人点赞