我在Action里写的代码是这样的 :
this.addFieldError("loginError", this.getText("admin.loginerror"));
System.out.printl(this.getFieldErrors().get("loginError"));这个是有值的但是,传到jsp页面不行,我写的代码是这样的:
<s:text name="loginError"></s:text> 
<s:fielderror name="loginError"><s:param>loginError</s:param></s:fielderror>  显示不出来!

解决方案 »

  1.   

    <s:fielderror><s:param>loginError </s:param> </s:fielderror>
      

  2.   

    <s:fielderror> <s:param name="loginError"></s:param> </s:fielderror> 
      

  3.   

    使用Struts2标签<s:debug></debug>查看ValueStack中有没有loginError。
      

  4.   

    直接使用<s:fielderror></s:filederror>就可以了
      

  5.   

    1.首先<s:debug/>看看有没有fieldError
    2.如果有:
    <!-- example 1 -->
        <s:fielderror />    <!-- example 2 -->
        <s:fielderror>
             <s:param>field1</s:param>
             <s:param>field2</s:param>
        </s:fielderror>
        <s:form .... >
           ....
        </s:form>    OR    <s:fielderror>
              <s:param value="%{'field1'}" />
              <s:param value="%{'field2'}" />
        </s:fielderror>
        <s:form .... >
           ....
        </s:form>
    struts2文档上面的,example1 是取全部值,example2是去单个的fieldError
      

  6.   

    你在显示的页面右击查看源代码看看在对应的位置有没有相关的信息
    有可能是struts2主题CSS的原因
      

  7.   

    我用debug标签看了,没有值,这是为什么?
      

  8.   

    只要你不是redirect,应该会有值的
      

  9.   

    你说的对,我有用了redirect
      <result name="shouye" type="redirect">/Mer_browseIndexMer.action</result>
    可是如果不用的话,回不到这个action页面,我是刚学Struts2还有很我不懂的!
    怎么重新让它回到这个action路径,而不用Redirect呢?
      

  10.   

     Attribute fieldName invalid for tag fielderror according to TLD<s:fielderror>标签的错误信息那位大虾告诉我怎么解决啊谢谢了
      

  11.   

    在<fielderrors> 标签中没有 filedName 这个属性
      

  12.   

    addFieldError("nameError", getText("用户名不能为空!"));
     addFieldError("passError", getText("密码不能为空!"));
    //这样就可以了 
      

  13.   

    <%@ taglib prefix="s" uri="/struts-tags"%>
    我也遇到你这个问题,我是忘了加这个