Struts2 验证信息样式修改

Struts2里面fielderror标签的样式修改问题

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

解决办法

1.我想到的解决办法就是在后台相应的action处作判断,最终给一个错误信息出来,只不过这个错误信息可能会经过判断综合到一起(后台加工)。也就是说我们可以从value stack里面拿值

<s:property value=”fielderror.name[0]”/>

2.用struts2的<s:fielderror/>标签可以拿到所以的错误信息,但是有自己的格式,要想办法去掉他的格式    办法:把struts强加的样式覆盖掉,也可以把它的样式手动设为none

.errorMessage{

list-style-type: none;

}

但是这样还是有ul li 从而有换行的效果那么如何去掉ul li ?这个还是有点麻烦的

3.去掉ul li 办法

1.把strut-core包解压可以看到template-simple-fielderror.ftl文件把最后一分

<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/>

<li><span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span></li>

</#list><#t/>

</#list><#t/>

</ul>改成

<#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/>

也就是去掉ul  li  然后打包再放回去

2.一般这样破坏了别人的封装,struts里面可以采取覆盖的形式具体如下:

在struts.xml里面配置常量也就是规定我们使用哪个样式,然后好改相应的struts样式

<constant name="struts.ui.theme" value="simple" />

然后在src目录下新建包template .simple  (要按顺序建两次)然后把修改过的filederror.flt文件放到里面去,重启项目,就会看到ul  li  不见了这时你想加什么样式 随便你了

3.可以定义自己的主题

在struts.xml里面配置常量

<constant name="struts.ui.theme" value="mytheme" />

当然这样我们就得把strutscore里面的simple整个文件夹里面的内容全部放到template-mytheme下面了,并且修改我们的fielderror.flt文件

最后struts的所有标签,只有fielderror给我们加css,当我们改完fielderror之后上,其它的标签我们还是用theme=”simple”这个主题

<constant name="struts.ui.theme" value="simple" /> 其中theme=”xhtml”是默认的

时间: 2024-08-19 08:33:52

Struts2 验证信息样式修改的相关文章

从零开始学_JavaScript_系列(九)——dojo(2)(AJAX、时间控件、鼠标事件、样式修改、事件移除、消息发布订阅)

(21)和(22)写的不好,跳过. (23)AJAX异步加载 插件:dojo/request 参数:request 语法(get): request.get(URL).then(成功回调函数,失败回调函数); 第一个回调函数是成功的,参数用response:(也可以用其他的) 第二个回调函数是失败的,参数用error:(也可以用其他的) 注: ①读取本地比较简单,直接填写本地的url即可: ②如果读取服务器端(比如数据库),那么需要相应的支持,例如python脚本等(我自己目前对python.和

struts2学习(11)struts2验证框架1.验证简介、内置验证

一.Struts2验证简介: 二.struts2内置验证: 下面例子,需求是:为用户注册进行验证: com.cy.model.User.java: package com.cy.model; public class User { private String userName; private String name; private int age; private String email; private String homePage; public String getUserNam

看好你的门-确保验证机制的安全(3)-正确处理验证信息

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 前提 执行安全的验证机制,不仅仅要同时满足几个关键安全目标,许多的时候也需要牺牲其他目标.比如易用性.成本.还有功能. 2. 正确处理验证信息的基本要求 一些基本要求,写下来,以后也可以参考. 1. 要确认完整的用户名和密码等信息:也就是说,要区分大小写,不过滤或者修改任何字符,不添加也不截断密码: 2. 应用程序要在处理验证信息的过程中,主动防御无法预料的时间.重要的是,如果系统无法

在ASP.NET MVC中使用Knockout实践07,自定义验证信息的位置与内容

在前两篇中,体验了Knockout的基本验证和自定义验证.本篇自定义验证信息的显示位置与内容. 自定义验证信息的显示位置 通常,Knockout的验证信息紧跟在input后面,通过validationMessage属性可以自定义验证信息的显示位置. @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <style type="text/css">

改善struts2验证机制的核心设计思想

Struts2的验证机制都是在VO进行赋值转换之后进行验证的,在实际开发中不能使用,那么我们可以在实际项目的应用中在VO进行赋值转换之前自己设计赋值拦截器改善struts2验证机制的核心设计思想:1.将所有用户提交的参数名称接收2.获取用户请求路径,得到请求执行的action名称3.拼接相关action要执行的规则key4.利用反射得到struts2Action提供的读取资源文件的方法5.利用反射得到struts2Action提供的添加错误信息的方法6.利用反射得到struts2Action提供

struts2 验证继承和验证短路效应

当框架开始处理时收集验证文件的位置: SuperClass-validation.xml SuperClass-aliasName-validation.xml Interface-validation.xml Interface-aliasName-validation.xml ActionClass-validation.xml ActionClass-aliasName-validation.xml 在定义验证时,应该基于这个结构在这个搜索列表的更高层定义通用的验证,这样允许你重用这些定义

struts2验证器

1. Struts2 的验证(note6,struts2-8) 1). 验证分为两种: > 声明式验证* >> 对哪个 Action 或 Model 的那个字段进行验证 >> 使用什么验证规则 >> 如果验证失败, 转向哪一个页面, 显示是什么错误消息 > 编程式验证 2). 声明式验证的 helloworld I. 先明确对哪一个 Action 的哪一个字段进行验证: ageII. 编写配置文件: > 把 struts-2.3.15.3\apps\s

11.如何自学Struts2之Struts2验证[视频]

11.如何自学Struts2之Struts2验证[视频] 之前写了一篇"打算做一个视频教程探讨如何自学计算机相关的技术",优酷上传不了,只好传到百度云上: http://pan.baidu.com/s/1kTDsa95 这节课讲的过程中碰到了些问题,同时处理问题费了些时间,有问题可以直接回复这篇文章. 错误1:http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd - Class: sun.net.www.protocol

Struts2 验证框架 validation.xml 常用的验证规则

Struts2 验证框架 validation.xml 常用的验证规则 validation.xml 的命名规则和放置路径:文件名:<ActionClassName>-validation.xml<ActionClassName>就是要验证的Action类的名字. 要将此文件放于Class文件相同的目录.如果在Action类在struts配置中有多个action实例(action name),那么对应某个action的验证文件名规则如下:文件名:<ActionClassNam