【发布时间】:2015-03-19 17:22:19
【问题描述】:
我想我正在尝试做一些非常简单的事情,但我一直在苦苦挣扎!
基本上我想打开一个带有 1 个选择的表单,该表单由一个相当简单的用户类型项目列表填充。
@Entity
@Table(name = "user")
public class User {
@Id private String userId;
private String userName;
private String passwordCode;
private Date dateOfBirth;
public String getUserId() {
return userId;
}
public String getUserName() {
return userName;
}
public String get PasswordCode () {
return passwordCode;
}
public Date getDateofBirth() {
return dateOfBirth;
}
}
我想通过 spring MVC 作为 modelAttribute 将所选项目返回为 SelectedUser。
所以我在控制器中这样做
@Controller
@RequestMapping("/")
public class HomeController extends JFrame {
@Autowired private MeetingDAO meetingDAO;
@RequestMapping(method = RequestMethod.GET)
public String HomePage(@ModelAttribute("selectedUser") User selectedUser, Model model) {
List<User> userlist = userDAO.ListAll();
model.addAttribute("userlist ", userlist);
return "Home";
}
抱歉,我之前曾问过这个问题,因为我刚刚意识到我之前误解了机制。不幸的是,现在我明白了,我仍然有点茫然。我想要一个用户类型的列表并将选择的项目返回为“selectedUser”。
据我所知,我不能这样做 -
<form:form action="home" method="Post" modelAttribute="selectedUser" >
<form:select path="selectedUser" >
<form:options items="${userlist}" itemValue="userId" itemLabel="userName" />
</form:select>
因为路径想要设置 User 的一个属性并且不会设置对象本身?
如果我这样做而不是 Spring 标记 -
<select id="userlist" name=Users onchange="changeFunc(value);">
<c:forEach var="u" items="${userlist}" >
<option value="${u}" >${u[1]} (ID:${u[0]})</option>
</c:forEach>
</select>
我看不到如何将选定的值分配给“selectedUser”模型属性。
这是可能的还是我试图以错误的方式做到这一点。这似乎是一个非常简单的任务,我无法掌握!可能我应该只返回请求对象中的选定对象吗?不过我希望使用 Spring 机制。
【问题讨论】:
标签: jsp spring-mvc