<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 免费无码精品黄AV电影| 亚洲乱码一二三四区乱码| 成人毛片免费视频| 久久精品免费视频观看| 一级特级女人18毛片免费视频| 亚洲欧洲日本在线观看| 4444亚洲国产成人精品| a级亚洲片精品久久久久久久| 午夜电影免费观看| 永久免费av无码网站韩国毛片| 久久国产乱子伦精品免费看| 中文字幕乱理片免费完整的| 男男gay做爽爽免费视频| 在线观看亚洲AV日韩AV| 久久精品国产亚洲AV忘忧草18| 日韩亚洲Av人人夜夜澡人人爽| 亚洲香蕉成人AV网站在线观看| 亚洲国产成人久久笫一页| 精品无码国产污污污免费| 国产成人免费高清激情视频| 免费黄色福利视频| 天天影院成人免费观看| 久久国产色AV免费看| 99精品视频免费在线观看| 久久亚洲免费视频| 玖玖在线免费视频| 免费无码又爽又刺激一高潮| 成av免费大片黄在线观看| 精品无码一级毛片免费视频观看 | 中文字幕在线视频免费观看| 四虎精品免费永久免费视频| 免费精品视频在线| 人妻免费久久久久久久了| 免费一级毛片在线播放视频免费观看永久| 亚洲AV无码国产剧情| 美女视频黄.免费网址 | 亚洲精品无码激情AV| 国产成人精品日本亚洲专区| 伊人久久亚洲综合| 五月天网站亚洲小说| 亚洲男女一区二区三区|