【问题标题】:How to validate HTML tag using Struts 2如何使用 Struts 2 验证 HTML 标签
【发布时间】:2013-03-14 16:43:47
【问题描述】:

我有一个 JSP 页面

<form action="passData" method="post">
  <input type="text" name="username" />
  <input type="submit"/>
</form>

我有动作类 UserData.java 配置 Struts2

我使用UserData-validation.xml 进行验证

<field name="username">
  <field-validator type="requiredstring">
  <message>Name is required</message>           
  </field-validator>
</field>

但如果我使用它就不起作用

<s:textfield name="username"/> 

它工作正常。但我想使用简单的 HTML 标签。

【问题讨论】:

  • 添加你的动作,添加你的 Struts.xml 和 InterceptorStack 声明...如果&lt;s:textfield/&gt; 不工作,试着让它工作而不是支持糟糕的html标签:/你有getter和操作中的用户名设置器?
  • 我已经设置好用户名。如果我使用 那么验证工作正常但是当我使用 然后不工作
  • 嗯,好的,知道了。那你为什么要使用经典的 HTML 标签呢?因为您不喜欢 Struts 标签生成的代码?如果是这样,请在 struts.xml 中指定theme="simple",以防止 Struts 生成除元素代码之外的任何代码(如标签等)。

标签: java html jsp validation struts2


【解决方案1】:

你必须使用一些 Struts2 标签。如果您不想使用&lt;s:textfield&gt; 标签,请使用&lt;s:fielderror&gt; 标签,它会呈现字段错误。

【讨论】:

  • 我如何使用 代替
  • &lt;s:fielderror&gt; 标记只会呈现字段错误(如果存在)。您需要将其与&lt;input&gt; 一起使用。
  • 是的,我理解 但我想在不使用 struts 2 标签的情况下调用 validation.xml。有可能吗??
  • 您希望如何显示错误?为什么不使用 Struts2 标签呢?他们不是邪恶的。 ;)
  • @RohitR.K.验证与标签完全无关。
【解决方案2】:

验证适用于 html 标记,即 &lt;form &lt;input 如果名称属性与 validation.xml 中指定的 fieldName 匹配。

【讨论】:

    【解决方案3】:

    无需更改任何配置。只需将所有 Struts &lt;s:form&gt; 标记更改为 html 标记 &lt;form&gt; 并仅在代码中添加 &lt;s:fielderror&gt; &lt;/s:fielderror&gt;。它运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 2010-09-29
      • 2013-03-30
      相关资源
      最近更新 更多