去除struts2中s:fieldError标签中的默认样式

来源:互联网 发布:阿里云客服怎么样 编辑:程序博客网 时间:2024/05/16 14:31

方式一:重新编辑CSS

Struts2自动生成的ul的class的名字是errorMessage(可通过右键查看源代码知道),我们就可以通过修改CSS的方式让他看起来没有什么格式

<%@ page language="java" contentType="text/html; charset=UTF-8"      pageEncoding="UTF-8"%>  <%@ taglib prefix="s" uri="/struts-tags" %>  <!DOCTYPE html>  <html>      <head>          <meta charset="utf-8">          <title></title>          <style type="text/css">          .errorMessage li {              list-style-type: none;          }          .errorMessage {              padding:0;          }          </style>      </head>      <body>          <s:fielderror fieldName="myMess" theme="simple"/>          <s:debug/>      </body>  </html>  


方式二:用s:property替代s:fielderror
代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"      pageEncoding="UTF-8"%>  <%@ taglib prefix="s" uri="/struts-tags" %>  <!DOCTYPE html>  <html>      <head>          <meta charset="utf-8">          <title></title>      </head>      <body>          <s:property value="errors.myMess[0]"/>          <s:debug/>      </body>  </html>  

方式三:修改 struts2-core-2.3.31.jar里的 fielderror.ftl

struts-2.3.31-all\struts-2.3.31\lib\struts2-core-2.3.31\template\simple(目录大同小异)  中找到fielderror.ftl

将这个文件复制到项目下的src--template--simple 目录下(覆盖掉原fll文件)

将fielderror.ftl代码中的

 <#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/>
ul和li标签去掉,变为:

<#if (eKeysSize > 0)><#t/>            <#list eKeys as eKey><#t/>                <#assign eValue = fieldErrors[eKey]><#t/>                <#list eValue as eEachValue><#t/>                   <span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span>                </#list><#t/>            </#list><#t/>        </#if><#t/>
重启Tomcat,即可完成

方式四:自定义主题

1.在struts.xml中设置<constant name="struts.ui.theme" value="mytheme"></constant>
2.在项目下src新建目录template\mytheme
3.把H:\javasoftware\struts-2.3.31-all\struts-2.3.31\lib\struts2-core-2.3.31\template\simple
目录下所有ftl文件全部复制到项目的src\template\mytheme目录
4.按照方法二去掉fielderror.ftl中ul和li的设置

原创粉丝点击