修改struts中:fielderror.ftl 模板

2024-09-08 04:08

本文主要是介绍修改struts中:fielderror.ftl 模板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在项目登录页面:

当验证码输入有误时,应该提示:验证码输入有误,请重新输入 ,但是页面出现乱了!


错误原因:


在产生错误信息时,页面中增加了<ul> <li><span></span></li></ul>标签,该如何修改改,

解决方法(一):

在项目的src下,新建文件夹:template.simple,在文件夹里面放修改好的fielderror.ftl文件。


fielderror.ftl 代码:

<#--
/** $Id: fielderror.ftl 805635 2009-08-19 00:18:54Z musachy $** 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?if_exists != "">id="${parameters.id?html}"<#rt/>
</#if>
<#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/><ul<#rt/>
<#if parameters.cssClass??>class="${parameters.cssClass?html}"<#rt/>
<#else>class="errorMessage"<#rt/>
</#if>
<#if parameters.cssStyle??>style="${parameters.cssStyle?html}"<#rt/>
</#if>
><#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/></ul></#if><#t/>
</#if><#t/>
</#if><#t/>
这样,就ok了,重新发布项目,看结果如下:


解决方法(二):

也可以在jsp页面中修改,效果是一样的。代码如下:

<TR>
<span style="white-space:pre">	</span><TD class="td">验 证 码:</TD><TD class="td"><input name="checkNum" type="text" value="" id="checkNum" style="width: 80">
<span style="white-space:pre">		</span><img id="checkNumImage" src="${pageContext.request.contextPath}/image.jsp" height="19" align="absmiddle" onClick="changeCheckNum()"  title="点击换一张" style="cursor:hand">
<span style="white-space:pre">	</span></TD>
<span style="white-space:pre">	</span><td><s:fielderror fieldName="checkNum"/></td>
</TR>
把错误提示信息和验证码,图片放在一行里面。

这篇关于修改struts中:fielderror.ftl 模板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147067

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目