前言:我目前使用的是struts2-core-2.3.1.2,升级不是一个选项。
我试图在我的struts2表单中实现HTML5所需字段。Struts甚至不会渲染这个:
<s:textfield name="x_serialNbr" id="i_sn" required />
和
<s:textfield name="x_serialNbr" id="i_sn" required="true" />
<s:textfield name="x_serialNbr" id="i_sn" required="required" />
生成的HTML不是我想要的:
<input type="text" name="x_serialNbr" value="" id="i_sn" />
经过大量的谷歌搜索,这篇一年前的文章是我能找到的最接近于解决我的问题的东西。这似乎表明这个问题已经在当前版本的struts2中解决了,但正如我所说,我无法升级。
在我看来,我的选项是
- 动态添加"required"属性到页面加载的适当字段。
- roll my own validation
- ? ?我是不是漏掉了什么?是不是有我刚才漏掉的文件?
您可以使用纯html,但是您应该得到OGNL或EL的值
<input type="text" name="x_serialNbr" value="<s:property value='x_serialNbr'/>" id="i_sn" required="true">
<input type="text" name="x_serialNbr" value="${x_serialNbr}" id="i_sn" required="required">