<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0

    <?xml:namespace prefix = st1 />1.1.1 業務控制器

    為本示例建立一個業務控制器,該控制器用到了代碼8.1中定義的Person人員信息類。該業務控制器如代碼8.4所示。

    代碼8.4 Struts 2OGNL示例業務控制器

    package ch8;
    import java.util.Date;
    import java.util.LinkedList;
    import java.util.List;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts2.ServletActionContext;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    public class OgnlAction extends ActionSupport {
    //List
    類型屬性
    private List persons;
    //execute
    方法
    public String execute() throws Exception {
    //
    獲得ActionContext實例,以便訪問Servlet API
    ActionContext ctx = ActionContext.getContext();
    //
    存入application
    ctx.getApplication().put("msg", "application
    信息");
    //
    保存session
    ctx.getSession().put("msg", "seesion
    信息");
    //
    保存request信息
    HttpServletRequest request = ServletActionContext.getRequest();
    request.setAttribute("msg", "request
    信息");
    //
    persons賦值
    persons = new LinkedList();
    Person person1=new Person();
    person1.setName("pla1");
    person1.setAge(26);
    person1.setBirthday(new Date());
    persons.add(person1);

    Person person2=new Person();
    person2.setName("pla2");
    person2.setAge(36);
    person2.setBirthday(new Date());
    persons.add(person2);
    Person person3=new Person();
    person3.setName("pla3");
    person3.setAge(16);
    person3.setBirthday(new Date());
    persons.add(person3);
    return SUCCESS;
    }
    public List getPersons() {
    return persons;
    }
    public void setPersons(List persons) {
    this.persons = persons;
    }
    }

    該業務控制器分別在applicationsessionrequest中存入名為“msg”的字符串信息,另外定義了一個List類型屬性,同時添加了兩個Person類型元素。在配置文件中增加了相應的配置,代碼如下:


    /ch8/showognl.jsp

    1.1.2 JSP視圖

    showognl.jsp是使用了OGNL表達式的JSP視圖,視圖用來顯示Action中處理的各種信息,讀者可以看到,使用OGNL表達式,代碼更加簡潔和直觀,如代碼8.5所示。

    代碼8.5使用OGNL表達式的JSP視圖


    http://www.w3.org/TR/ xhtml1/DTD/xhtml1-transitional.dtd">
    http://www.w3.org/1999/xhtml">

    訪問OGNL上下文和Action上下文

    parameters: 
    request.msg: 
    session.msg: 
    application.msg: 
    attr.msg: 
    
    
    用于過濾和投影(projecting)集合
    年齡大于20
    1.???????????????????????   - 年齡:
    姓名為pla1的年齡: 
    
    
    構造Map
    The value of key "foo1" is 

    1.1.3 運行示例

    在瀏覽器中輸入http://localhost:8080/bookcode/ch8/OgnlAction.action?msg=hello,運行結果如圖8.3所示。

    8.3 Struts 2中使用OGNL表達式

    說明

    本示例演示了如何使用OGNL表達式來訪問OGNL上下文和值棧,同時演示了如何使用OGNL表達式進行集合操作。對讀者深入理解Struts 2OGNL表達式的使用有所幫助。

    posted on 2009-08-15 17:29 jadmin 閱讀(86) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲一区二区三区高清| 人人狠狠综合久久亚洲婷婷| 亚洲一区二区三区精品视频| 91精品国产免费久久国语蜜臀 | 成人免费视频77777| 亚洲欧洲精品一区二区三区| 欧洲精品成人免费视频在线观看| 在线视频观看免费视频18| 亚洲国产精品综合久久久| 免费精品国产日韩热久久| 亚洲国产综合自在线另类| 无人在线观看完整免费版视频| 亚洲成人高清在线观看| 成年女人毛片免费观看97| 亚洲乱码日产精品一二三| 男人的天堂亚洲一区二区三区 | 一区二区三区视频免费观看| 亚洲国产成人精品女人久久久| 九九九精品视频免费| 亚洲s色大片在线观看| 久久WWW免费人成一看片| 亚洲精品中文字幕| 亚洲福利精品一区二区三区| 三上悠亚在线观看免费| 好男人看视频免费2019中文| 国产精品观看在线亚洲人成网| 中文字幕亚洲不卡在线亚瑟| 日韩在线不卡免费视频一区| 亚洲精品综合在线影院| 免费一级e一片在线播放| 久久久久久久99精品免费观看| 亚洲国产成人资源在线软件 | 亚洲w码欧洲s码免费| 国产成人亚洲综合网站不卡| 亚洲国产精品13p| 99热在线观看免费| 亚洲AV无码片一区二区三区| 久久久久久久综合日本亚洲| 大地资源免费更新在线播放| 一级做受视频免费是看美女| 亚洲狠狠狠一区二区三区|