jsp與action之間的傳值
阿新 • • 發佈:2019-01-29
jsp向action傳參
1. action裡未宣告的值,ServletActionContext.getRequest().getParameter("username")
2. action裡已經宣告並getter和setter的值,可以直接使用或get
action向jsp傳值
- action裡未宣告的值,ServletActionContext.getRequest().setAttribute(“username”, username);
- action裡已經宣告並getter和setter的值,set方法
action程式碼段
public class UserAction extends BaseAction {
private UserService userService;
private User user;
private String message;
private List<User> queryList;
private List<Department> departments;
public String login() {
System.out.println(user);
User user1 = userService.findUserByName(user);
if (null == user1) {
setMessage("使用者名稱不存在!");
return Action.ERROR;
}
if (!user.getPassword().equals(user1.getPassword())) {
setMessage("密碼錯誤!");
return Action.ERROR;
} else {
setQueryList(userService.findAll());
setDepartments(departmentService.findAll());
return Action.SUCCESS;
}
}
getter and setter...
}
jsp關鍵程式碼段
<body>
<form name="loginform" action="login.action" method="post">
使用者:<input type="text" name="user.userName" />
密碼:<input type="password" name="user.password" />
<input type="submit" value="登入" />
</form>
${message}
</body>
Struts程式碼段
<action name="login" class="com.dirk.action.UserAction" method="login">
<result name="success">/WEB-INF/jsp/department/userManage.jsp</result>
<result name="error">/WEB-INF/jsp/login/login.jsp</result>
</action>