熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

struts2標簽取值方式

2013-11-23 20:20:20  來源: Java開源技術 
    標簽取值方式一
   
    通過<s:property value= />取值
   
    當Action的valueStack中有該屬性的值時只需直接使用該屬性的名字即可
   
    當Action的valueStack中沒有該屬性的值時比如在sessionapplication范圍中的屬性值時需要加#或者#attr;
   
    例子
   
    假設某Action中有person成員變量在application中存在company屬性
   
    那麼我們可以通過以下方法取值
   
    <s:property value=personname />
   
    <s:property value=#personname />
   
    <s:property value=companyname /> //無法取到因為company不在action的valueStack中
   
    <s:property value=#companyname />
   
    標簽取值方式二
   
    在任意的<s:/>標簽內使用%{}來取值
   
    當Action的valueStack中有該屬性的值時只需直接使用該屬性的名字即可
   
    當Action的valueStack中沒有該屬性的值時比如在sessionapplication范圍中的屬性值時需要加#或者#attr;
   
    例子
   
    假設某Action中有person成員變量在application中存在company屬性
   
    <s:textfield name=personname value=personname /> //錯誤value會直接顯示personname字樣
   
    <s:textfield name=personname value=%{personname} />
   
    <s:textfield name=panyname value=%{#companyname} />
   
    <s:textfield name=panyname value=%{#panyname} />
   
    獲取JSP頁面的requestsessionapplication中的屬性
   
    在頁面中可以這樣獲取
   
    <td>${aunter}</td>
   
    <td>${unter}</td>
   
    <td>${unter}</td>
   
    或者直接這樣用${屬性} ${userBeanusername}userBean可以是request或session中的對象
   
    struts中的Action代碼中的內容為
   
    ActionContext ctx = ActionContextgetContext()
   
    ctxgetApplicationput(counternew Integer())
   
    ctxgetSessionput(counternew Integer())
   
    ctxput(counternew Integer())
   
    ctxput就是直接設置request的值
   
    也可以使用以下方式獲得request:
   
    HttpServletRequest r = ServletActionContextgetRequest()
   
    HttpServletResponse resp = ServletActionContextgetResponse()
   
    struts還提供了以下接口
   
    ServletContextAware:Action實現該接口可以直接訪問ServletContext
   
    ServletRequestAware:Action實現該接口可以直接訪問HttpServletRequest
   
    ServletResponseAware:Action實現該接口可以直接訪問HttpServletResponse
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28328.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.