java web从零单排第十七期《struts2》数据标签库(1)
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>
运行结果:
浙公网安备 33010602011771号