这些标签执行可在每一种语言找到的一种基本条件流程。 '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”,并提交页面。您应该看到翻页