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>


运行结果:



原文地址:https://www.cnblogs.com/suncoolcat/p/3312953.html