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>
运行结果: