Struts 里面的
之類(lèi)的表單域標(biāo)簽, 都有一個(gè)屬性叫: property, 這個(gè)屬性根據(jù)文檔是可以嵌套的, 例如下面的 formBean 嵌套了一個(gè)屬性 User:
public class User {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
public class UserForm extends FormBean {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
那么對(duì)應(yīng)的 JSP 頁(yè)面里的 Tag 可以寫(xiě)成:
<html:text property="user.username" />
但是如果這時(shí)候有人還想給生成的表單加入 JavaScript 驗(yàn)證的話, 必須用下面的寫(xiě)法才能通過(guò):
這是因?yàn)?Struts 標(biāo)簽最后產(chǎn)生的 HTML 如下所示:
<form onsubmit="return validateForm(this);">
<input name="user.username" />
< SPAN>form>
直接引用 元素.user.username 肯定會(huì)出錯(cuò)的. 正確的方法參考上上面的代碼段即可.