1. 程式人生 > >jsp與action之間的傳值

jsp與action之間的傳值

jsp向action傳參

1. action裡未宣告的值,ServletActionContext.getRequest().getParameter("username")
2. action裡已經宣告並getter和setter的值,可以直接使用或get

action向jsp傳值

  1. action裡未宣告的值,ServletActionContext.getRequest().setAttribute(“username”, username);
  2. 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>