评论

收藏

[Java] struts2中simple主题下<s:fieldError>标签默认样式的移除方法

编程语言 编程语言 发布于:2021-10-08 12:33 | 阅读数:414 | 评论:0

这篇文章主要给大家介绍了关于struts2中simple主题下<s:fieldError>标签默认样式的移除方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
前言
当在我们注册用户时,如果给前台的提示是用户名重复并且用户名太长时,就会要往action里面添加多个errors,这时到前台怎么把它依次拿出来
下面话不多说了,来一起看看详细的介绍吧
方法如下
①找到配置文件
struts2-core-2.3.35.jar/template/simple/fielderror.ftl(不同版本的文件路径大同小异)
②创建新的文件包并拷贝文件
在项目根目录下创建template.simple并将fielderror.ftl拷贝过来
此时根目录下的fielderror.ftl文件优先权大于默认的fielderror.ftl文件
③修改拷贝过来的fielderror.ftl文件
修改前文件如下
<#--
/*
 * $id$
 *
 * 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.
 */
-->
<#if fielderrors??><#t/>
 <#assign ekeys = fielderrors.keyset()><#t/>
 <#assign ekeyssize = ekeys.size()><#t/>
 <#assign donestartultag=false><#t/>
 <#assign doneendultag=false><#t/>
 <#assign havematchederrorfield=false><#t/>
 <#if (fielderrorfieldnames?size > 0) ><#t/>
  <#list fielderrorfieldnames as fielderrorfieldname><#t/>
   <#list ekeys as ekey><#t/>
  <#if (ekey = fielderrorfieldname)><#t/>
   <#assign havematchederrorfield=true><#t/>
   <#assign evalue = fielderrors[fielderrorfieldname]><#t/>
   <#if (havematchederrorfield && (!donestartultag))><#t/>
   <ul<#rt/>
    <#if parameters.id?has_content>
    id="${parameters.id?html}"<#rt/>
    </#if>
    <#if parameters.cssclass?has_content>
    class="${parameters.cssclass?html}"<#rt/>
     <#else>
    class="errormessage"<#rt/>
    </#if>
    <#if parameters.cssstyle?has_content>
    style="${parameters.cssstyle?html}"<#rt/>
    </#if>
     >
    <#assign donestartultag=true><#t/>
   </#if><#t/>
   <#list evalue as eeachvalue><#t/>
    <li><span><#if parameters.escape>${eeachvalue!?html}<#else>${eeachvalue!}</#if></span></li>
   </#list><#t/>
  </#if><#t/>
   </#list><#t/>
  </#list><#t/>
  <#if (havematchederrorfield && (!doneendultag))><#t/>
  </ul>
   <#assign doneendultag=true><#t/>
  </#if><#t/>
  <#else><#t/>
  <#if (ekeyssize > 0)><#t/>
  <ul<#rt/>
   <#if parameters.cssclass?has_content>
   class="${parameters.cssclass?html}"<#rt/>
  <#else>
   class="errormessage"<#rt/>
   </#if>
   <#if parameters.cssstyle?has_content>
   style="${parameters.cssstyle?html}"<#rt/>
   </#if>
  >
   <#list ekeys as ekey><#t/>
  <#assign evalue = fielderrors[ekey]><#t/>
  <#list evalue as eeachvalue><#t/>
   <li><span><#if parameters.escape>${eeachvalue!?html}<#else>${eeachvalue!}</#if></span></li>
  </#list><#t/>
   </#list><#t/>
  </ul>
  </#if><#t/>
 </#if><#t/>
</#if><#t/>
将<ul></ul>、<li></li>、<span></span>删除
修改后文件如下
<#--
/*
 * $id$
 *
 * 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.
 */
-->
<#if fielderrors??><#t/>
 <#assign ekeys = fielderrors.keyset()><#t/>
 <#assign ekeyssize = ekeys.size()><#t/>
 <#assign donestartultag=false><#t/>
 <#assign doneendultag=false><#t/>
 <#assign havematchederrorfield=false><#t/>
 <#if (fielderrorfieldnames?size > 0) ><#t/>
  <#list fielderrorfieldnames as fielderrorfieldname><#t/>
   <#list ekeys as ekey><#t/>
  <#if (ekey = fielderrorfieldname)><#t/>
   <#assign havematchederrorfield=true><#t/>
   <#assign evalue = fielderrors[fielderrorfieldname]><#t/>
   <#if (havematchederrorfield && (!donestartultag))><#t/>
   
    <#assign donestartultag=true><#t/>
   </#if><#t/>
   <#list evalue as eeachvalue><#t/>
    <#if parameters.escape>${eeachvalue!?html}<#else>${eeachvalue!}</#if>
   </#list><#t/>
  </#if><#t/>
   </#list><#t/>
  </#list><#t/>
  <#if (havematchederrorfield && (!doneendultag))><#t/>
  
   <#assign doneendultag=true><#t/>
  </#if><#t/>
  <#else><#t/>
  <#if (ekeyssize > 0)><#t/>
  
   <#list ekeys as ekey><#t/>
  <#assign evalue = fielderrors[ekey]><#t/>
  <#list evalue as eeachvalue><#t/>
   <#if parameters.escape>${eeachvalue!?html}<#else>${eeachvalue!}</#if>
  </#list><#t/>
   </#list><#t/>
  
  </#if><#t/>
 </#if><#t/>
</#if><#t/>
重启tomcat
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对CodeAE代码之家的支持。
原文链接:http://www.cnblogs.com/zhanghongcan/p/9753917.html

关注下面的标签,发现更多相似文章