最近项目使用了hibernate+struts2,过程中发现struts2的标签实在强大
struts2里的标签使用总结:
action里有
private Sim sim;+get/set
private long preuser;
那么前台:
<div style="color: red">
<s:fielderror />
<s:property value="infoMsg"/>
</div>
<s:form action="sim_update.action" >
<s:hidden name="preuser" value="%{sim.user.id}"/>
<s:hidden name="sim.simNumber"/>
<s:property value="sim.simNumber"/>
<s:select name="sim.user.id" list="users" listKey="id" listValue="userName" label="Cur. User"/>
<s:submit value="Update" />
</s:form>
注:
1.theme=“simple”不写这个theme这个,那么struts2解析的时候,会自动在form表单里添加一个table:
<form id="proto_update" name="proto_update" action="proto_update.action" method="post">
<table class="wwFormTable">
<input type="hidden" name="proto.id" value="5" id="proto_update_proto_id"/>
<input type="hidden" name="preuser" value="3" id="proto_update_preuser"/>
<input type="hidden" name="proto.imei1" value="111111111111111" id="proto_update_proto_imei1"/>
<tr>
<td align="left"><label>Imei1:</label></td>
<td align="left">111111111111111</td>
</tr>
……
……
所以,我们只需要写form和tr td即可。
如果在标签里写了theme=“simple” 如:
<input type="hidden" name="proto.id" value="5" theme=“simple” id="proto_update_proto_id"/>
那么这个标签里的lable就不管用了。
不写theme,那么lable这个属性,struts2会自动给分配一个td
2.<s:fielderror />如何使用?
1)在action里重写validate方法:
public void validate() {
addFieldError("", “error!”);
}
2)在前台写: <s:fielderror />即可