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

时间:2021-09-04 18:10:58

前言

当在我们注册用户时,如果给前台的提示是用户名重复并且用户名太长时,就会要往action里面添加多个errors,这时到前台怎么把它依次拿出来

下面话不多说了,来一起看看详细的介绍吧

方法如下

①找到配置文件

struts2-core-2.3.35.jar/template/simple/fielderror.ftl(不同版本的文件路径大同小异)

②创建新的文件包并拷贝文件

在项目根目录下创建template.simple并将fielderror.ftl拷贝过来

此时根目录下的fielderror.ftl文件优先权大于默认的fielderror.ftl文件

③修改拷贝过来的fielderror.ftl文件

修改前文件如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<#--
/*
 * $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>删除

修改后文件如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<#--
/*
 * $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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/zhanghongcan/p/9753917.html