Struts2中常用标签

来源:互联网 发布:郭正亮 知乎 编辑:程序博客网 时间:2024/05/01 03:46

1:index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
  </head>
  <body>
  <a href="<%=basePath%>testTag.action?name=传递参数">Test Tag</a><br/>
   <s:form action="day2/common-tag.jsp" method="get">
      <s:textfield name="username" label="用户名"></s:textfield>
       <s:submit></s:submit>
   </s:form>
  <%
    session.setAttribute("date", new Date());
   %>
  </body>
</html>


  2:struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
  <constant name="struts.i18n.encoding" value="UTF-8"></constant>
   <package name="hello" extends="struts-default" namespace="/">
   <global-results>
      <result name="input1">/day1/details.jsp</result>
   </global-results>
   <global-exception-mappings>
       <exception-mapping result="input1" exception="java.lang.ArithmeticException"></exception-mapping>
   </global-exception-mappings>
     <action name="login" class="com.study.RegAction">
        <result name="success">/day1/success.jsp</result>
        <result name="error">/day1/error.jsp</result>
        <result name="input">/day1/login.jsp</result>
     </action>
     <action name="counter" class="com.study.CounterAction">
        <result name="success">/day1/counter.jsp</result>
        <result name="error">/day1/error.jsp</result>
        <result name="input">/day1/login.jsp</result>
     </action>
     <action name="input" class="com.study.ProductAction" method="testTag">
     <exception-mapping result="input" exception="java.lang.ArithmeticException"></exception-mapping>
       <result name="success">/day1/testTag.jsp</result>
        <result name="input">/day1/details.jsp</result>
     </action>
     <action name="TestActionContext" class="com.study.TestAction">
       <result name="success">/day1/testContext.jsp</result>
     </action>
      <action name="TestAwareAction" class="com.study.TestAwareAction">
       <result name="success">/day1/testAware.jsp</result>
     </action>
      <action name="ProductAction" class="com.study.ProductAction" method="testTag">
       <result name="success">/day1/testTag.jsp</result>
     </action>
      <action name="TestServletContextAction" class="com.study.TestServletContextAction">
       <result name="success">/day1/testServletContext.jsp</result>
     </action>
     <action name="TestServletAwareAction" class="com.study.TestServletAwareAction">
       <result name="success">/day1/testServletAware.jsp</result>
     </action>
     <action name="TestActionSupport" class="com.study.TestActionSupport">
       <result name="success">/day1/testActionSupport.jsp</result>
     </action>
      <action name="myform" class="com.study.UserAction" method="save">
       <result name="input">/day1/form.jsp</result>
     </action>
      <action name="emp-*" class="com.app.EmployeeAction" method="{1}">
       <result name="{1}">/day2/emp-{1}.jsp</result>
       <result name="delete" type="redirect">/day2/emp-list.jsp</result>
     </action>
     <action name="testConversion" class="com.app.ConversionAction" method="execute">
      <result name="success">/day2/success.jsp</result>
      <result name="input">/index.jsp</result>
     </action>
     <action name="testTaken" class="com.app.TakeAction" method="execute">
      <result name="success" type="redirect">/day2/common-tag.jsp</result>
      <result name="input">/day2/action.jsp</result>
      </action>
      <action name="testTag" class="com.app.Product" method="testTag">
       <result name="success">/day2/common-tag.jsp</result>
      </action>
   </package>
</struts>


   3:Action

package com.app;


import java.util.Map;


import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
/**
 * Struts2会自动把Action对象放入到值栈中,Struts2终将调用方法,但是在调用该方法之前:
 * -->先创建一个StrutsActionProxy对象
 * -->在创建StrutsActionProxy中
 * 
 * @author Administrator
 *
 */
public class Product implements RequestAware,SessionAware{


private int productId;
private String productName;
private String productDesc;
private double productPrice;
private Map<String, Object> session;
private Map<String, Object> request;
public Product() {
}
public Product(int productId, String productName, String productDesc,
double productPrice) {
super();
this.productId = productId;
this.productName = productName;
this.productDesc = productDesc;
this.productPrice = productPrice;
}
public int getProductId() {
return productId;
}
public void setProductId(int productId) {
this.productId = productId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductDesc() {
return productDesc;
}

public void setProductDesc(String productDesc) {
this.productDesc = productDesc;
}
public double getProductPrice() {
return productPrice;
}
public void setProductPrice(double productPrice) {
this.productPrice = productPrice;
}
@Override
public String toString() {
return "Product [productId=" + productId + ", productName="
+ productName + ", productDesc=" + productDesc
+ ", productPrice=" + productPrice + "]";
}
public String testTag()
{
this.productId=101;
this.productName="值栈";
this.productDesc="信息自动保存在值栈Map栈中session对象";
this.productPrice=1000;
return "success";
}
@Override
public void setSession(Map<String, Object> session) {
   this.session=session;
}
@Override
public void setRequest(Map<String, Object> request) {
this.request=request;

}
public Map<String, Object> getSession() {
return session;
}
public Map<String, Object> getRequest() {
return request;
}

}


 4:jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>用户登录</title>
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
  </head>
  <body>
  <s:debug></s:debug>
  s:property:打印值栈中的属性值的:对于对象栈,打印值栈中对应的属性值<br/>
    <s:property value="productId"></s:property><br/>
    <s:property value="productName"></s:property><br/>
    <s:property value="productDesc"></s:property><br/>
    <s:property value="productPrice"></s:property><br/><br/>
    Map栈:打印值栈中的属性的:request,session,application或请求参数的值<br/>
     <s:property value="#session.date"></s:property><br/>
     <s:property value="#parameters.name"></s:property><br/>
     s:url创建一个URL字符串的<br/>
    s:url:创建一个URL字符串的<br/>
    <s:url value="/testUrl" var="url"></s:url>
    ${url}<br/>
     URL:<s:url value="/getProduct" var="url1">
      <s:param name="productId" value="11"></s:param>
      <s:param name="productName" value="标签库"></s:param>
    </s:url>
     ${url1}<br/><br/>
       URLL:<s:url value="/getProduct" var="url2">
       <!--对于值栈会自动的进行OGNL解析  如果不希望进行ORNL解析,使用''-->
      <s:param name="productId" value="productId"></s:param>
      <s:param name="productId" value="'productId'"></s:param>
    </s:url>
   <!-- 构建一个请求action的地址 --> 
    <s:url action="testAction" namespace="/helloworld" method="save" var="url4"></s:url>
     ${url4}<br/><br/>
     <!-- 是否创建请求参数 -->
     <s:url value="testUrl" var="url5" includeParams="get"></s:url>
     ${url5}<br/><br/>
 </body>
</html>
 

0 0
原创粉丝点击