Java Struts2标记:字段错误标记

Java Struts2标记:字段错误标记,java,forms,jsp,struts2,tags,Java,Forms,Jsp,Struts2,Tags,我目前正在为我的表单使用Struts2标记,并显示其错误消息。我的问题是,在Struts2标记中显示错误消息的默认标记是使用标记。还有什么我可以改变的吗?我希望错误消息显示为而不是列表 如何实现这一点?下面是一个教程,介绍Struts 2的ActionError和ActionMessage类的使用 ActionError–用于向用户发送错误反馈消息–通过显示 <s:if test="hasActionErrors()"> <div class="errors">

我目前正在为我的表单使用Struts2标记,并显示其错误消息。我的问题是,在Struts2标记中显示错误消息的默认标记是使用
标记。还有什么我可以改变的吗?我希望错误消息显示为
而不是列表


如何实现这一点?

下面是一个教程,介绍Struts 2的ActionError和ActionMessage类的使用

  • ActionError–用于向用户发送错误反馈消息–通过显示

    <s:if test="hasActionErrors()">
      <div class="errors">
       <s:actionerror/>
       </div>
    </s:if>
    
    
    
  • ActionMessage–用于向用户发送信息反馈消息,通过显示

    <s:if test="hasActionMessages()">
      <div class="welcome">
        <s:actionmessage/>
      </div>
    </s:if>
    
    
    

  • 标记根据其主题进行渲染。然后问题变成:你如何改变主题?您可以将其更改为标记 (将标签上的主题属性设置为simple)、page、request或General

    就我个人而言,我喜欢编写html,也就是说,我不喜欢struts2默认主题的任何“帮助”。因此,在我的struts.xml中,我只使用:

    <constant name="struts.ui.theme" value="simple" />
    
    
    
    Web开发人员应该了解html

    更新

    通常使用YUI reset.css,所以我可能错过了这个

    如果您在操作上扩展ActionSupport,则有一个
    getFieldErrors()
    方法,因此您可以使用
    ,该方法将返回关联的错误消息字符串,当然不带任何格式


    它的可读性并不比
    标记差多少。。。毕竟,我们需要始终使用属性标记。

    您可以覆盖用于呈现错误的模板文件。将
    actionerror.ftl
    fielderror.ftl
    文件从
    simple
    主题从
    struts2 core
    jar复制到您的应用程序中,并将其修改为不使用
    ul
    /
    li
    标记。

    另一个选项是更改ul元素的CSS


    只有当您特别关注外观,而不是DOM本身时,这种方法才有效。

    我遇到了与以下代码相同的问题,我使用了这些代码来解决我的问题

    <s:if test="fieldErrors.get('email').size() > 0">
         <s:property value="fieldErrors.get('email').get(0)"/>
    </s:if>
    
    
    

    其中email是我所在领域的名称。这样我们就不必修改CSS。

    但是这些是否可以生成li和ul作为其标记?我不想生成错误消息,因为您看过该链接中的示例了吗?我不明白你在说什么。你可以在你的问题中添加一些示例代码以获得支持。你应该在发布之前仔细阅读问题。不要发布里程的答案,以免混淆其他人。问题是关于fieldError标记,而不是actionError或actionMessage。。这不是很容易区分吗?我让我的主题变得简单,但问题是当我使用fielderrors标签时,它会为错误列表生成一个ul li,这是我不想要的。很好的建议!!忘了吧。我只在乎它的外表。