1. 程式人生 > >struts2的屬性驅動

struts2的屬性驅動

屬性驅動:將表單的提交資料與java基本型別資料相對應

類似springmvc的表單繫結,可以與javabean 的屬性對應如

實體類:

package com.chet.domain;

public class Product {

    String productID;
    String productName;
    String productPrice;
    public String getProductID() {
        return productID;
    }
    public void setProductID(String productID) {
        this
.productID = productID; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getProductPrice() { return productPrice; } public void setProductPrice
(String productPrice) { this.productPrice = productPrice; } public String toString() { return this.getProductID()+this.getProductName()+this.getProductPrice(); } }

action類:這裡定義了一個product實體 在請求提交到這個Action的時候會通過setter例項這個實體。所以必須有setter 與getter方法、

package com.chet.action;

import
java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.ServletActionContext; import com.chet.domain.Product; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; private Product product; private static Logger logger = LogManager.getLogger(TestAction.class.getName()); @Override public String execute() throws Exception { System.out.println("test -------------------"); logger.info("無奈發生的"); return SUCCESS; } public String ognlTest() { System.out.println(" test start-------------------"); ActionContext ctx = ActionContext.getContext(); ctx.getApplication().put("testFirst", "我是applicatio"); ctx.getSession().put("test", "我是session"); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("test", "我是request"); return SUCCESS; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } }

jsp頁面

<p>test OGNL</p>
    <s:property value="#request.test"/>
    <s:property value="#session.test"/>
    <s:property value="#application.test"/>

    <s:property value="product.productName"/>
    <s:property value="product.productID"/>
    <s:property value="product.productPrice"/>

如果通過form表單提交則

<input type="text" name="product.productID" value=""/>
<input type="text" name="product.productName" value=""/>

如果使用上面的程式碼,請注意struts的配置檔案,這裡主要是通過萬用字元來訪問到Action裡面的方法 ,具體請參考我的文章 —struts2萬用字元

相關推薦

struts2屬性驅動模型

bsp 表單提交 man let 用戶 啟動服務 equal tex 屬性 屬性驅動模型的作用: 因為struts2與servlet API 實現了解耦,無法直接使用HttpServlet Request對象獲取表單提交的參數,但Struts2提供了屬性驅動模型機制來解決這

struts2 屬性驅動模型 獲取表達資料

login.jsp <%-- Created by IntelliJ IDEA. User: WenSe Date: 2018/10/25 Time: 13:49 To change this template use File | Setting

Struts2-屬性驅動與模型驅動

 Struts2 - 屬性驅動與模型驅動 一、為什麼要使用屬性驅動和模型驅動?          :struts2與struts很大的不同點在於,struts的execute方法提供了HttpServletRequest和       HttpServletResp

Struts2屬性驅動和模型驅動詳解

    屬性驅動,就是在Action中定義的是和表單中對應的一個個屬性,每個屬性都有對應的get/set方法。當表單提 交到Action後,Struts2將會自動將根據表單的name屬性呼叫Acti

Struts2 屬性驅動

屬性驅動 1.  jsp頁面 <form action="register.action" method="post">    使用者名稱:<input type="text"

Struts2屬性驅動封裝(了),需要使用ognl表示式

建立一個Person類 public class Person {private String name;public String getName() {return name;}public void setName(String name) {this.name =

Struts2屬性驅動與模型驅動

1屬性驅動是指用Action的屬性來封裝來回請求的引數. 2.模型驅動     模型驅動是指使用JavaBean來封裝來回請求的引數.(個人理解) 建議使用模型驅動,因為相比struts 1的Action類,struts 2的Action類承擔了太多的責任:既用於封裝來回請

Struts2實現ModelDriven進行屬性驅動

nbsp class pub model 提交 必須 屬性 post for 1. 實現ModelDriven的作用 ModelDriven,屬性驅動十分有用,form表單提交的的name,和類中的set方法名稱想對應,就可以實現自動註入。 2. Struts2實現Mo

第05講 struts2設定資料-屬性驅動-Javabean

1,在 HeadFirstStruts2chapter02 中,新建類UserAction2 package com.cruise.action; import com.cruise.model.User; import com.cruise.service.UserService; import

第04講 struts2設定資料-屬性驅動-基本資料型別

1,在 HeadFirstStruts2chapter02 中,新建包com.cruise.model包,新建bean:User,屬性分別為:userName,password,package com.cruise.model;public class User { &

struts2[2.3]引數獲得方式-(1)屬性驅動獲得引數

1.學習路線 今天咱們來學struts2引數獲得方式,let`go!                   

struts2屬性驅動和模型驅動

.Struts2的屬性驅動. Struts2的屬性驅動指的是在action中JSP頁面的每一個form中的name都對應在action中有一個屬性與之對應。   Struts2的模型驅動 Struts2的模型驅動其實和Struts1.x中的ActionForm有點類似,

struts2引數獲得方式-(1)屬性驅動獲得引數

1.學習路線 今天咱們來學struts2引數獲得方式,let`go!                                                                                            圖1.學習路線

struts2 接受引數的兩種方式(屬性驅動和模型驅動)

定義: 在struts2中,頁面的資料和action(控制層)傳輸基本上有兩種方式,一個是屬性驅動、另一個是模型驅動。 屬性驅動 基本資料型別的屬性對應: 就是Web頁面上html標籤

淺談Struts2屬性驅動和模型驅動

一直在用Struts2實現MVC,因為相比於Struts1中大量使用request.getparameter在頁面上獲取值,struts2則提供了屬性驅動和模型驅動處理了這一問題。通過這兩個驅動,我們

struts2屬性驅動

屬性驅動:將表單的提交資料與java基本型別資料相對應 類似springmvc的表單繫結,可以與javabean 的屬性對應如 實體類: package com.chet.domain; public class Product { Strin

struts2域物件屬性驅動方式傳值

【例】使用者登入第一步:建立user域物件package com.dwx.bean; public class User { private String username; private Str

struts2模型驅動屬性名要和頁面一致

JSP程式碼<input type="text" name="shopId">javabean程式碼 private Integer shopID; 結果使用模型驅動時報錯 Unexpected Exception caught setting 'shopId'

Struts2屬性驅動原理和模型驅動原理

屬性驅動:(靠的是ParameterInterceptor攔截器,setValue方法操作值桟屬性) *  在action中設定屬性,屬性的名稱和頁面上表單中的name屬性的名稱保持一致 *  在ac

Struts2淺析 之 模型驅動屬性驅動

1.Struts2的屬性驅動. Struts2的屬性驅動指的是在action中JSP頁面的每一個form中的name都對應在action中有一個屬性與之對應。看下面程式碼片段: <form action="register.do" name="RegisterFo