1.s:action标签:
此标签的作用是在JSP页面中访问action类的数据,执行某些操作,并返回相应的数据。其属性及意义如下:
属性名 |
是否必需 |
默认值 |
类型 |
说明介绍 |
executeResult |
false |
false |
Boolean |
是否将action返回的结果视图显示在当前页面中 |
flush |
false |
true |
Boolean |
是否进行刷新 |
ignoreContextParams |
false |
false |
Boolean |
是否忽略url参数 |
name |
true |
—— |
String |
指定调用哪个action |
namespace |
false |
—— |
String |
指定调用那个action的命名空间 |
var |
false |
—— |
String |
将调用的action放入之值栈中 |
创建action控制层:
package controller; public class RunAction { private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String execute()
{
return "runaction";
} }
在jsp中使用action标签:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <body>
显示runaction中的内容并且输出name参数的值:
<br>
<s:action name="runaction" executeResult="true"></s:action>
<br>
<br> 显示runaction中的内容,不输出name参数的值:
<s:action name="runaction" executeResult="true" ignoreContextParams="true"></s:action>
<br>
<br> 仅仅调用action 不显示结果页:
<s:action name="runaction"></s:action>
</body>
</html>
返回结果的jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <body>
name的值是:
<s:property value="name"/>
</body>
</html>
struts.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd/struts-2.0.dtd">
<struts>
<package name="Maybe" extends="struts-default"> <action name="runaction" class="controller.RunAction">
<result name="runaction">/runaction.jsp</result>
</action>
</package>
</struts>
运行结果如下:
2.在JSP页面中实例化一个JavaBean
s:bean 和s:param标签
是s:bean的作用是实例化一个类,s:param标签可以对这个实例中的属性进行赋值。使用bean标签实例化后,类的实例可以通过var属性放到值栈中。
创建实体类:
package bean; public class UserInfo { private String username; public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} }
使用bean标签创建一个类:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %> <body>
第一种写法:
<s:bean name="bean.UserInfo" var="userinfo">
<s:param name="username">niujiabin</s:param>
<s:property value="#userinfo.username"/>
另一种写法:
<s:param name="username" value="'maybe'"></s:param>
</s:bean> <s:property value="#userinfo.username"/>
</body>
</html>
运行结果: