【原創】Struts1.x系列教程(6):Bean標籤庫
Bean標籤庫共有11個標籤。這些標籤可以完成如下五種工作:
1. 獲得HTTP請求資訊
2. 訪問Java物件
3. 訪問JSP內嵌物件和Struts配置物件
4. 訪問Web資源和屬性檔案
5. 輸出資訊
下面我們就來分別介紹一下如何使用Bean標籤庫中的標籤來完成上述的工作。
一、獲得HTTP請求資訊
使用Bean標籤庫中的標籤可以訪問Cookie、HTTP請求頭以及請求引數。
1.
(1)id:用於儲存Cookie物件的變數名。
(2)name:Cookie名
(3)value:Cookie的預設值。如果name所指的Cookie不存在,
2.
(1)id:用於儲存HTTP請求頭欄位值的變數名。
(2)name:HTTP請求頭欄位名。
(3)value:HTTP請求頭欄位的預設值。如果name所指的HTTP請求頭欄位不存在,
3.
(1)id:用於儲存HTTP請求引數值的變數名。
(2)name:HTTP請求引數名。
(3)value:HTTP請求引數值的預設值。如果name所指的HTTP請求引數不存在,
下面的例子演示瞭如何使用本節所講的三個Bean標籤來獲得HTTP請求資訊,在
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> @ page pageEncoding="GBK"%>
@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<html>
<head>
<title>獲得HTTP請求資訊title>
head>
<body>
-- 測試bean:cookie標籤 --%>
<bean:cookie id="myCookie" name="name" value="default" />
if (myCookie.getValue().equals("default"))
{
Cookie cookie = new Cookie("name", "newCookie");
cookie.setMaxAge(1000);
response.addCookie(cookie);
}
%>
${myCookie.value} -- 用EL輸出myCookie的value屬性值 --%>
// ${myCookie.value}相當於如下Java程式碼
Cookie cookie = (Cookie)pageContext.getAttribute("myCookie");
out.println(cookie.getValue());
%> <br>
-- 測試bean:header標籤 --%>
<bean:header id="userAgent" name="user-agent" value="unknown"/>
${userAgent}<br> -- 用EL輸出userAgent的值 --%>
-- 測試bean:parameter標籤 --%>
<bean:parameter id="myCountry" name="country" value="unknown"/>
${myCountry} -- 用EL輸出myCountry的值 --%>
body>
html>
在IE中輸入如下的URL來測試httpRequestInfo.jsp: 要注意的是,上述的三個Bean標籤都將變數儲存到了page範圍內(也就是JSP內嵌物件pageContext中),並且不能改變變數的儲存範圍。讀者在使用這三個Bean標籤時應注意這一點。 二、訪問Java物件 1. (1)id:變數名。 (2)name:Java物件名。 (3)property:Java物件屬性名。 (4)scope:name所指的Java物件所在的訪問,如果不指定,預設是page範圍。 (5)toScope:id所指的變數要儲存的範圍,如果不指定,預設是page範圍。 2. (1)id:一個Integer變數 (2)name:集合或資料的變數名。 下面的例子演示瞭如何使用本節所講的兩個Bean標籤來訪問Java物件。在
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
在IE中輸入如下的URL來測試accessJavaObject.jsp: (1)id:變數名。 (2)property:JSP內嵌物件名,必須是application、config,、request、response或session其中之一。 2. (1)id:變數名。 (2)formBean:struts-config.xml檔案中的 (3)mapping:struts-config.xml檔案中的 (4)forward:struts-config.xml檔案中的 在使用 (1)同時使用了formBean、mapping和forward中的兩個或三個。 (2)未指定formBean、mapping和forward (3)formBean、mapping或forward所指的標籤不存在。 下面的例子演示了
http://localhost:8080/samples/httpRequestInfo.jsp?country=China
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->@ page pageEncoding="GBK"%>
@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<html>
<head>
<title>訪問Java物件title>
head>
<body>
-- 建立actionform.HtmlTagsForm物件例項 --%>
<jsp:useBean id="htmlTagsForm" class="actionform.HtmlTagsForm"/>
<jsp:setProperty name="htmlTagsForm" property="name" value = "李寧"/>
-- 測試bean:define標籤 --%>
<bean:define id="myBeanVar" name="htmlTagsForm" property="name"/>
${myBeanVar}
String[] arr = new String[10];
pageContext.setAttribute("arr", arr);
%>
-- 測試bean:size標籤 --%>
<bean:size id="length" name="arr"/>
${length}
body>
html>
http://localhost:8080/samples/accessJavaObject.jsp
1.
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> @ page pageEncoding="GBK"%>
@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<html>
<head>
<title>訪問JSP內嵌物件和Struts配置物件title>
head>
<body>
<bean:page id="myRequest" property="request" />
myRequest.characterEncoding = ${myRequest.characterEncoding}
<br>
myRequest.contextPath = ${myRequest.contextPath}
out.println(myRequest.getParameter("abc"));
%>
<bean:struts id = "myHtmlTagsForm" formBean="htmlTagsForm"/><br>
myHtmlTagsForm.type = ${myHtmlTagsForm.type}<br>
myHtmlTagsForm.getClass() = ${myHtmlTagsForm.class}
<bean:struts id = "myHtmlTags" mapping="/htmlTags"/><br>
myHtmlTags.type = ${myHtmlTags.type}<br>
myHtmlTags.getClass() = ${myHtmlTags.class}
<bean:struts id = "myNewProduct" forward="newProduct"/><br>
myNewProduct.path = ${myNewProduct.path}<br>
myNewProduct.getClass() = ${myNewProduct.class}
body>
html>
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
1.
(1)id:變數名。
(2)href:Web資源的絕對路徑。
(3)page:Web資源的相對路徑。以“/”開頭。
(4)forward:struts-config.xml檔案
2.
(1)id:變數名。
(2)name:Web資源的相對路徑。以“/”開頭。
(3)input:如果指定input屬性,id變數為java.io.InputStream型別,如果未指定input屬性,id變數為String型別。
3.
(1)key:屬性檔案中的字串資訊鍵名。
(2)bundle:struts-config.xml檔案中的
(3)name:用於獲得鍵名的字串變數名或物件例項變數名。
(4)property:獲得key的屬性名。如果name屬性為物件例項變數名,則
(5)scope:
(6)arg0 ~ arg4:用於向帶引數的字串資訊中傳入引數值。分別對應於屬性檔案中的{0} ~ {4}。
下面的例子演示了本節所涉及到的三個標籤的使用方法。在執行這個例子之前,先在
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->greet = hello world
myGreet = hello {0}
然後在struts-config.xml中的
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <message-resources parameter="struts.MyResources" key="my" />
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
最後在
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-541385/,如需轉載,請註明出處,否則將追究法律責任。
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> @ page pageEncoding="GBK"%>
@ page import="actionform.HtmlTagsForm"%>
@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<html>
<head>
<title>訪問Web資
相關文章
- Git 系列教程(9)- 打標籤Git
- Spring Bean 標籤解析SpringBean
- 位運算解決多標籤問題【原創】
- 什麼是JSTL標籤?常用的標籤庫有哪些?JS
- Python系列教程6Python
- JSP第五篇【JSTL的介紹、core標籤庫、fn方法庫、fmt標籤庫】JS
- Spring 原始碼解讀第七彈!bean 標籤的解析Spring原始碼Bean
- 【原創】如何優雅的轉換Bean物件Bean物件
- vscode 開啟檔案覆蓋原標籤,不顯示新標籤頁VSCode
- 小技巧系列:正則匹配img標籤
- HTML基礎知識6-表格標籤HTML
- properties標籤和typeAliases標籤
- html標籤-HTML5精講 課時ID:6.1 【表嚴肅】#HTML教程 #HTML5教程 #html標籤HTML
- body標籤-HTML5精講 課時ID:6.2 【表嚴肅】#HTML教程 #HTML5教程 #body標籤HTML
- matplotlib畫圖教程,設定座標軸標籤和間距
- Struts標籤、ognl表示式、el表示式、jstl標籤庫這四者之間JS
- 【原創】淺談指標(一)指標
- 【原創】淺談指標(二)指標
- 【原創】淺談指標(三)指標
- 【原創】淺談指標(四)指標
- PHP歷理 列表模板和標籤庫PHP
- PHP歷理 新增模板和標籤庫PHP
- PHP歷理 修改模板和標籤庫PHP
- 兄弟連go教程(6)指標Go指標
- HTML標籤(基本標籤的使用)HTML
- VOC標籤轉化為YOLO標籤YOLO
- PHP歷理 檢視模板和標籤庫PHP
- 怎麼用Word做資料夾側面標籤?Word做資料夾側面標籤教程
- Spring系列.Bean簡介SpringBean
- git 入門教程之里程碑式標籤Git
- Dreamweaver使用img標籤定義影像高寬的教程
- base標籤
- JSTL標籤JS
- html標籤HTML
- Git 標籤Git
- HTML <a> 標籤HTML
- 推送標籤到遠端倉庫的步驟
- .net將資料庫中的html標籤展示資料庫HTML
- Docker檢視遠端倉庫的標籤工具Docker