• Struts2>fielderror显示处理 小强斋


    一、去掉fielderror显示中前面的的方法

    theme都存在jar包中template文件夹下。
    1、覆盖所应用主题中的的fielderror的那个ftl文件 

    新建/src/template/simple/fielderror.ftl

    <#--
    /*
     * $Id: fielderror.ftl 722375 2008-12-02 05:19:57Z wesw $
     *
     * 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.cssClass??>
     class="${parameters.cssClass?html}"<#rt/>
    <#else>
     class="errorMessage"<#rt/>
    </#if>
    <#if parameters.cssStyle??>
     style="${parameters.cssStyle?html}"<#rt/>
    </#if>
    >
    				<#assign doneStartUlTag=true><#t/>
    			</#if><#t/>
    			<#list eValue as eEachValue><#t/>
    				<li><span>${eEachValue}</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/>
    		
    			<#list eKeys as eKey><#t/>
    				<#assign eValue = fieldErrors[eKey]><#t/>
    				<#list eValue as eEachValue><#t/>
    					<span>${eEachValue}</span>
    				</#list><#t/>
    			</#list><#t/>
    		
    	</#if><#t/>
    </#if><#t/>
    </#if><#t/>
    

    2、css控制

    <?xml version="1.0" encoding="GB18030" ?>
    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <%@ taglib uri="/struts-tags" prefix="s" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
    <title>theme学习</title>
    
    <style type="text/css">
    .formFieldError {
    font-family: verdana, arial, helvetica, sans-serif;
    font-size: 12px;
    color: #FF3300;
    vertical-align: bottom;
    }
    
    .formFieldError ul {
    	/*list-style-type: none*/
        margin: 0px;
        padding: 3px;
        vertical-align: middle;
    }
    
    .formFieldError ul li{
    	list-style-type: none
       
    }
    </style>
    
    </head>
    <body>
    用CSS控制显示
    	<ol>
    		<li>
    		<s:form >
    		<div class="formFieldError">
    		<s:fielderror />
    		</div>
    		<s:textfield name='aaa'></s:textfield>
    		</s:form>
    		</li>
    	</ol>
    </body>
    </html>

    3、定义自己的主题,并且在配置文件设置为默认

    将 <constant name="struts.ui.theme" value="simple" />改为<constant name="struts.ui.theme" value="mytheme" />

    自己定义的mytheme和simple一模一样,只不过是将fielderror.ftl改成第一种方法中的。

    推荐:所有的主题定义为simple,把fielderror特殊处理,自己控制其他标签的展现。

     

  • 相关阅读:
    re模块 与正则表达式之间的关系 一.....
    计算机硬件组成
    随便
    linux crontab定时
    linux shell命令记录
    tomcat意外退出 A valid shutdown command was received via the shutdown port. Stopping the Server instance
    mongodb设置用户
    mongodb的mongo.conf文件 启动参数
    mysql设置不区分表名大小写
    mongodb报Write failed with error code 17280 and error message 'WiredTigerIndex::insert: key too large
  • 原文地址:https://www.cnblogs.com/xiaoqiangzhaitai/p/5637525.html
Copyright © 2020-2023  润新知