各位大侠,小弟被一问题困惑,很是不解,我在action中用addFieldError("errorUserName","用户名填写错误")生成错误信息,在jsp页面中通过<s:fielderror fieldName="errorUserName" theme="simple" />输出不了错误信息,改用
<s:fielderror theme="simple">
 <s:param>errorUserName</s:param>
</s:fielderror>也拿不到值,
让小弟不解的是我用<s:debug>调试,发现valueStack里面的fieldErrors是有值的。
小弟已经纠结好久了,求指教!!!!!

解决方案 »

  1.   

    在页面使用<actionError>标签
      

  2.   

    偶一直都用request.setAttribute来存错误信息,然后在jsp用<s:property value="#request.errorInfo"/>来显示。感觉用struts2的错误提示标签很麻烦,而且错误提示的html样式不能改的。。
      

  3.   

    fielderror标签输出action的fieldErrors属性保存的字段错误,fieldErrors是一个map类型的属性。Action类中这样定义:public String execute() throws Exception{...addFieldErrors("field1", "field1 error");addFieldErrors("field2", "field2 error");...}jsp中输出错误信息:<s:fielderror/>
      

  4.   


    另一标签可以使用<s:property value="errors.fieldname[0]"/>获取自定义样式的错误信息。
      

  5.   

    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", "设置成功!");就可以成功显示提示信息。一直都是这样用的
      

  6.   

    不用struts2的标签怎么显示错误信息呢?我也是觉得标签格式不能改太不方便
      

  7.   

    我也查了半天,但是我的错误是if(name==null||!name.equals("admin")){
    this.addFieldError("name", "name is error!");
    return ERROR;
    }addFieldError(name,“name is error”)
    找了好久。