程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp和struts 、action的交互

jsp和struts 、action的交互

編輯:關於JSP

jsp和struts 、action的交互


摘要 jsp和struts 、action的交互 == 一、jsp向action傳值,jsp發送的方法 1、form表單提交的方法 jsp和struts 、action的交互 ==   一、jsp向action傳值,jsp發送的方法 1、form表單提交的方法         <form action="login" method="post"name="form1">             用戶名:<s:textfieldname="username"/><br/>             密 碼:  <s:passwordname="password"/><br/>                            <s:submit value="提交"/>          </form> 2、href方法             <a href = "messageDelete.action?id=<%=msg.getId()%>">刪除</a> ==   二、jsp向action傳值,action接受的方法  1.在Action類中定義表單屬性,兩者屬性名稱必須一致。提供setter,getter方法。即可接收到表單傳過來的參數.           private String username;           private String password;           public String getUsername() {                     return username;           }           public void setUsername(String username) {                     this.username = username;           }           public String getPassword() {                     return password;           }           public void setPassword(String password) {                     this.password = password;           } 2.把表單傳遞過來的參數封裝成一個類,然後調用其中的屬性.     如,把login.jsp頁面要傳來的參數進行封裝(例如:封裝於Users 類)           private String username;           private String password;           public String getUsername() {                      return username;           }           public void setUsername(String username) {                       this.username = username;           }           public String getPassword() {                       return password;           }           public void setPassword(String password) {                       this.password = password;           }      然後再Action方法中,定義該類的對象就可以了,如       public class loginAction extends ActionSupport{                    private Users users;                   public Users getUsers(){                                   return users;                    }                     public void setUsers(Users users){                                   this.users=users;                     }           }      通過這種方法傳值,還必須在jsp頁面做一下處理,login.jsp中from1的屬性名應該改成這樣:  <form action="login" method="post"name="form1">   用戶名:<s:textfieldname="users.username"/><br/>    密 碼:<s:passwordname="users.password"/><br/>               <s:submit value="提交"/>   </form>         這種方法,在struts開發中是很常用的一種方法! 3.通過實現ModelDriven接口接收表單數據   首先Action類必須實現ModelDriven接口,同樣把表單傳來的數據封裝起來,Action類中必須實例化該對象,並且要重寫getModel()方法  public class loginAction extends ActionSupport  implements  ModelDriven<Users> { private Users users =new Users(); public Users getModel(){     return users; } }          我的建議是 ModelDriven 應用整個應用層,那麼就 ModelDriven<Model> 定義一個泛型,所有實體都可以應用。如: public class BaseAction extends ActionSupport  implements  ModelDriven<Model> { private Model model=new Model(); public Model getModel(){     return model; } } ==   三、action傳回jsp,jsp接受方法 1、在Action中通過調用session或者request對象的setAttirbute方法就可以了,然後jsp裡去取。             在action的java源文件中這麼寫                 ActionContext ac = ActionContext.getContext();                      Map session = ac.getSession();                     session.put("currentUser", user);             在jsp頁面中就可以通過session訪問到user                 User user = (User)session.getAttribute("currentUser"); 2、OGNL      OGNL是XWork引入的一個非常有效的數據處理的工具。我們已經了解了OGNL的基本操作和OGNL的內部結構,接下來,我們來看看XWork對OGNL做了什麼樣的加強,以及OGNL的體系在Struts2中如何運轉。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved