Posted on 2007-06-01 17:30
筱筱 閱讀(401)
評論(0) 編輯 收藏 所屬分類:
Struts學習日記
基于Struts框架的JSP文件有以下特點:
1.沒有任何Java程序代碼。
2.使用了許多Struts的客戶化標簽,例如:<html:form>和<logic:present>標簽。
3.沒有直接提供文本內(nèi)容,取而代之的是<bean:message>標簽,輸出到網(wǎng)頁上的文本內(nèi)容都是由<bean:message>標簽來生成的。例如:
<bean:message key="hello.jsp.prompt.person"/>
Struts客戶化標簽是聯(lián)系視圖組件和Struts框架中其他組件的紐帶。這些標簽可以訪問或顯示來自于控制器和模型組件的數(shù)據(jù)。
JSP文件開頭幾行用于聲明和加載Struts標簽庫:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
以上代碼表明該JSP文件使用了Struts Bean、Html和Logic標簽庫,這是加載客戶化標簽庫的標準JSP語法。
·<html:errors>:用于顯示Struts框架中其他組件產(chǎn)生的錯誤消息。
·<html:form>:用于創(chuàng)建HTML表單,它能夠把HTML表單的字段和ActionForm Bean的屬性關聯(lián)起來。
·<html:text>:該標簽是<html:form>的子標簽,用于創(chuàng)建HTML表單的文本框。它和ActionForm
Bean的屬性相關聯(lián)。
·<bean:message>:用于輸出本地化的文本內(nèi)容,它的key屬性指定消息key,與消息key匹配的文本內(nèi)容來自于專門的Resource Bundle。
·<bean:write>:用于輸出JavaBean的屬性值。例如,<bean:write name="personbean" property="userName"/>,它用于輸出personbean對象的userName屬性值。
·<logic:present>:用來判斷JavaBean在特定的范圍內(nèi)是否存在,只有當JavaBean存在時,才會執(zhí)行標簽主體中的內(nèi)容,例如:
<logic"present name="personbean" scope="request">
<h2>
Hello <bean:write name="personbean" property="userName"/>!<p>
</h2>
</logic:present>
<logic:present>標簽用來判斷在request范圍內(nèi)是否存在personBean對象,如果存在,就輸出personBean的userName屬性值。與<logic:present>標簽相對的是<logic:notPresent>標簽,它表示只有當JavaBean在特定的范圍內(nèi)部存在時,才會執(zhí)行標簽能主體中的內(nèi)容。