Java的Struts框架中的if/else標(biāo)簽使用詳解
這些標(biāo)簽執(zhí)行可在每一種語(yǔ)言找到的一種基本條件流程。 'If'標(biāo)簽可用于本身或與“Else If''標(biāo)簽和/或單/多'Else'標(biāo)簽,如下圖所示:
<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>
創(chuàng)建動(dòng)作類:
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;
}
}
創(chuàng)建視圖
讓我們有index.jsp文件如下:
<%@ 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 標(biāo)簽:
<%@ 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>
在這里,如果標(biāo)簽返回true,如果“test”屬性中指定的條件返回true。在我們的例子中,我們比較反對(duì)“Mike”。如果這個(gè)名字是Mike,標(biāo)簽返回true,我們打印的字符串,否則“elseif”塊被執(zhí)行,如果不滿意,那么被執(zhí)行else塊。這是從傳統(tǒng)的,如果沒有什么不同,if, else if 可以在Java語(yǔ)言中。
配置文件
struts.xml 應(yīng)該像這樣:
<?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 應(yīng)該像這樣:
<?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>
右鍵點(diǎn)擊項(xiàng)目名稱,并單擊 Export > WAR File創(chuàng)建一個(gè)WAR文件。然后部署此WAR在Tomcat的webapps目錄下。最后,啟動(dòng)Tomcat服務(wù)器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會(huì)給出以下畫面:

現(xiàn)在選擇“Mark”,并提交頁(yè)面。您應(yīng)該看到翻頁(yè)

- 詳解Java編程中if...else語(yǔ)句的嵌套寫法
- Java利用策略模式優(yōu)化過多if else代碼
- Java中if...else語(yǔ)句使用的學(xué)習(xí)教程
- 聊聊java中一些減少if else 的編碼習(xí)慣的方法
- Java編程細(xì)節(jié)重構(gòu)之為什么if-else不是好代碼詳析
- Java基礎(chǔ)教程_判斷語(yǔ)句if else
- java的if else語(yǔ)句入門指南(推薦)
- java如何消除太多的if else判斷示例代碼
- 如何優(yōu)雅的替換掉Java代碼中的if else
- Java如何利用狀態(tài)模式(state pattern)替代if else
相關(guān)文章
Maven實(shí)現(xiàn)自己的starter依賴
本文主要介紹了Maven實(shí)現(xiàn)自己的starter依賴,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Spring 使用注解方式進(jìn)行事務(wù)管理配置方式
本篇文章主要介紹了Spring 使用注解方式進(jìn)行事務(wù)管理配置方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
SpringMVC下實(shí)現(xiàn)Excel文件上傳下載
這篇文章主要為大家詳細(xì)介紹了SpringMVC下實(shí)現(xiàn)Excel文件上傳下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Java實(shí)現(xiàn)在線預(yù)覽的示例代碼(openOffice實(shí)現(xiàn))
本篇文章主要介紹了Java實(shí)現(xiàn)在線預(yù)覽的示例代碼(openOffice實(shí)現(xiàn)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
Springboot+Stomp協(xié)議實(shí)現(xiàn)聊天功能
本示例實(shí)現(xiàn)一個(gè)功能,前端通過websocket發(fā)送消息給后端服務(wù),后端服務(wù)接收到該消息時(shí),原樣將消息返回給前端,前端技術(shù)棧html+stomp.js,后端SpringBoot,需要的朋友可以參考下2024-02-02
ShardingSphere數(shù)據(jù)庫(kù)讀寫分離算法及測(cè)試示例詳解
這篇文章主要為大家介紹了ShardingSphere數(shù)據(jù)庫(kù)讀寫分離算法及測(cè)試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

