這些標簽執行可在每一種語言找到的一種基本條件流程。 'If'標簽可用于本身或與“Else If''標簽和/或單/多'Else'標簽,如下圖所示:
1
2
3
4
5
6
7
8
9
|
<s: if test= "%{false}" > <div>Will Not Be Executed</div> </s: if > <s:elseif test= "%{true}" > <div>Will Be Executed</div> </s:elseif> <s: else > <div>Will Not Be Executed</div> </s: else > |
創建動作類:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.yiibai.struts2; public class HelloWorldAction{ private String name; public String execute() throws Exception { return "success" ; } public String getName() { return name; } public void setName(String name) { this .name = name; } } |
創建視圖
讓我們有index.jsp文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<%@ page language= "java" contentType= "text/html; charset=ISO-8859-1" pageEncoding= "ISO-8859-1" %> <%@ taglib prefix= "s" uri= "/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <head> <title>Hello World</title> </head> <body> <h1>Hello World From Struts2</h1> <form action= "hello" > <label for = "name" >Please pick a name</label><br/> <select name= "name" > <option name= "Mike" >Mike</option> <option name= "Jason" >Jason</option> <option name= "Mark" >Mark</option> </select> <input type= "submit" value= "Say Hello" /> </form> </body> </html> |
接下來 helloWorld.jsp 演示使用, if, else 和 elseif 標簽:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<%@ page contentType= "text/html; charset=UTF-8" %> <%@ taglib prefix= "s" uri= "/struts-tags" %> <html> <head> <title>Example of If and Else</title> </head> <body> <b>Example of If and Else</b><br/> <s: if test= "name=='Mike'" > You have selected 'Mike' . </s: if > <s:elseif test= "name=='Jason'" > You have selected 'Jason' </s:elseif> <s: else > You have not selected 'Mike' or 'Jason' . </s: else > </body> </html> |
在這里,如果標簽返回true,如果“test”屬性中指定的條件返回true。在我們的例子中,我們比較反對“Mike”。如果這個名字是Mike,標簽返回true,我們打印的字符串,否則“elseif”塊被執行,如果不滿意,那么被執行else塊。這是從傳統的,如果沒有什么不同,if, else if 可以在Java語言中。
配置文件
struts.xml 應該像這樣:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<? xml version = "1.0" encoding = "UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> < struts > < constant name = "struts.devMode" value = "true" /> < package name = "helloworld" extends = "struts-default" > < action name = "hello" class = "com.yiibai.struts2.HelloWorldAction" method = "execute" > < result name = "success" >/HelloWorld.jsp</ result > </ action > </ package > </ struts > |
web.xml 應該像這樣:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<? xml version = "1.0" encoding = "UTF-8" ?> < web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id = "WebApp_ID" version = "3.0" > < display-name >Struts 2</ display-name > < welcome-file-list > < welcome-file >index.jsp</ welcome-file > </ welcome-file-list > < filter > < filter-name >struts2</ filter-name > < filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class > </ filter > < filter-mapping > < filter-name >struts2</ filter-name > < url-pattern >/*</ url-pattern > </ filter-mapping > </ web-app > |
右鍵點擊項目名稱,并單擊 Export > WAR File創建一個WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會給出以下畫面:
現在選擇“Mark”,并提交頁面。您應該看到翻頁