Struts2中的鏈接標籤

爲了使從一個頁面中鏈接一個動態數據變得簡單,Struts2框架提供了一系列的標籤。
Struts2標籤的一種用法是創建鏈接到其他Web資源,特別是針對那些在本地應用中的資源

<%@ page c %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>

<title>Welcome</title>

<link href="<s:url value="/css/tutorial.css"/>" rel="stylesheet"

type="text/css"/>
</head>


<body>
<h3>Commands</h3>
<ul>

<li><href="<s:url action="Login_input"/>">Sign On</a></li>

<li><href="<s:url action="Register"/>">Register</a></li>
</ul>

</body>
</html>

 

<action name="Welcome">

<result>/example/Welcome.jsp</result>
</action>

注意此action註冊在package example下,所以在地址欄中敲入http://localhost:8080/StrutsHelloWorld/example/Welcome.actionStrutsHelloWorldproject名),會導向到Welcome.jsp。



2
對於上面的action註冊,我們也可以用下面的語句代替。
.使用通配符

<action name="*">

<result>/example/{1}.jsp</result>
</action>

此句的意思是,如果在沒有找到匹配的action名稱的情況下,默認調用action名稱.jsp。第一句中星號指任意,而第二句中{1}指代第一句中星號指代的內容。

    舉個例子,如果在地址欄中敲入
http://localhost:8080/StrutsHelloWorld/example/1.action,則系統查找struts.xml,發現沒有name1action,即最後調用name爲星號的這個action,根據此action,將輸出/example/1.jsp


或者讀者可以直接點擊Welcome.jsp中的兩個超鏈接,系統將會報錯找不到Login_input.jspRegister.jsp。因爲這兩個action還沒有註冊,也沒有相應的jsp文件。

3.帶參數的鏈接
超鏈接後面帶有參數大家不會陌生,諸如http://www.apache.com/?language=ch。這個鏈接後面帶有一個language參數,其值爲ch。你可以通過request.getParameter(“language”)找到參數值。下面演示在struts2中如何設置帶參數的鏈接。看HelloWorld.jsp

 

<%@ taglib prefix="s" uri="/struts-tags"%>

<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message" /></h2>
<h3>Languages</h3>
<ul>

<li>


<s:url id="url" action="HelloWorld">

<s:param name="request_locale">en</s:param>


</s:url>


<s:a href="%{url}">English</s:a>

</li>

<li>


<s:url id="url" action="HelloWorld">

<s:param name="request_locale">es</s:param>


</s:url>


<s:a href="%{url}">Espanol</s:a>

</li>
</ul>

</body>
</html>

3.1說明

1<s:url id="url" action="HelloWorld">

<s:param name="request_locale">en</s:param>

</s:url>
此段表示設置一個url標籤指向名爲HelloWorldaction,此標籤帶一個id取名爲url,後面會用到。帶一個參數request_locale,其值爲en

2<s:a href="%{url}">English</s:a>
此句用到了struts2的超鏈接標籤,連接的地址即爲1url,點擊English,發出的信息爲:http://localhost:8080/StrutsHelloWorld/example/HelloWorld.actionrequest_locale=en



3.2註冊actionstruts.xml
<struts>

<package name="example" namespace="/example"


extends="struts-default">



<action name="HelloWorld" >


<result>/example/HelloWorld.jsp</result>


</action>



1.普通鏈接
Web程序中最普通的應用是鏈接到其他頁面,下面看Welcome.jsp1.1說明

1.<%@ taglib prefix="s" uri="/struts-tags" %>
此句表示導入struts標籤,並以s爲前綴。即以s爲前綴的標籤均來自struts標籤庫。


2.<link href="<s:url value="/css/tutorial.css"/>" rel="stylesheet" type="text/css"/>
此句表示利用url標籤導入一個路徑,鏈接到一個文件,注意此路徑爲項目下的絕對路徑。


3.<a href="<s:url action="Login_input"/>">Sign On</a>
此句表示利用url標籤鏈接到一個action。


1.2註冊action
我們在struts.xml中註冊一個action來顯示welcome.jsp。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章