新手求解,struts2中的<s:fielderror>不显示值
各位大侠,小弟被一问题困惑,很是不解,我在action中用add
FieldError("errorUserName","用户名填写错误")生成错误信息,在jsp页面中通过<s:fielderror fieldName="errorUserName" theme="simple" />输出不了错误信息,改用
<s:fielderror theme="simple">
<s:param>errorUserName</s:param>
</s:fielderror>也拿不到值,
让小弟不解的是我用<s:debug>调试,发现valueStack里面的fieldErrors是有值的。
小弟已经纠结好久了,求指教!!!!!
------解决方案--------------------在页面使用<actionError>标签
------解决方案--------------------偶一直都用request.setAttribute来存错误信息,然后在jsp用<s:property value="#request.errorInfo"/>来显示。感觉用struts2的错误提示标签很麻烦,而且错误提示的html样式不能改的。。
------解决方案--------------------如果我没记错的话应该还要写另一个标签才会出来
------解决方案--------------------fielderror标签输出action的fieldErrors属性保存的字段错误,fieldErrors是一个map类型的属性。
Action类中这样定义:
public String execute() throws Exception{
...
addFieldErrors("field1", "field1 error");
addFieldErrors("field2", "field2 error");
...
}
jsp中输出错误信息:
<s:fielderror/>
------解决方案--------------------Action继承ActionSupport试下
------解决方案--------------------
已经继承了,还是有问题
------解决方案--------------------
我程序中就是这样用的啊,不知道为什么显示不出来
------解决方案--------------------
什么标签?求教。。。。
------解决方案--------------------
另一标签可以使用<s:property value="errors.fieldname[0]"/>获取自定义样式的错误信息。
------解决方案--------------------看看execute()方法名有没写错
------解决方案--------------------js<script>里面写
if($("#message ul span").html().length>0){
alert($("#message ul span").html());
};body里面要定义<div id="message" style="display:none"><s:fielderror /></div>;然后action里面写this.addFieldError("successSet", "设置成功!");就可以成功显示提示信息。一直都是这样用的
------解决方案--------------------可能是返回类型错误 应该是请求转发 不能是重定向
------解决方案--------------------不用struts2的标签怎么显示错误信息呢?我也是觉得标签格式不能改太不方便