struts tiles实例

做了一个struts2 tiles的实例,为了防止以后忘掉,特在此写篇文章记下

首先,先看一下总体结构图

现在,我们按步骤来:

1、所需的jar包,请将以下jar包导入

 

2、配置web.xml,设置监听等,内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

id="WebApp_ID" version="2.5">

<display-name>Struts2Example15</display-name>

 

<context-param>

<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>

<param-value>/WEB-INF/tiles.xml</param-value>

</context-param>

 

<listener>

<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>

</listener>

 

<filter>

<filter-name>struts2</filter-name>

<filter-class>

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

</filter-class>

</filter> 

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

 

 

3、配置baseLayout.jsp,内容如下:

 

<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

 

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

            <title><tiles:insertAttribute name="title" ignore="true" /></title>

    </head>

    <body>

        <table border="1" cellpadding="2" cellspacing="2" align="center">

            <tr>

                <td height="30" colspan="2">

                    <tiles:insertAttribute name="header" />

                </td>

            </tr>

            <tr>

                <td height="250">

                    <tiles:insertAttribute name="menu" />

                </td>

                <td width="350">

                    <tiles:insertAttribute name="body" />

                </td>

            </tr>

            <tr>

                <td height="30" colspan="2">

                    <tiles:insertAttribute name="footer" />

                </td>

            </tr>

        </table>

    </body>

</html>

4、配置tiles.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
  <definition name="baseLayout" template=" /baseLayout.jsp">
      <put-attribute name="title"  value="Template"/>
      <put-attribute name="header" value="/header.jsp"/>
      <put-attribute name="menu"   value="/menu.jsp"/>
      <put-attribute name="body"   value="/body.jsp"/>
      <put-attribute name="footer"   value="/footer.jsp"/>
  </definition>
  
  <definition name="welcome" extends="baseLayout">
      <put-attribute name="title"  value="Welcome"/>
      <put-attribute name="body"   value="/welcome.jsp"/>      
  </definition>
  
  <definition name="friends" extends="baseLayout">
      <put-attribute name="title"  value="Friends"/>
      <put-attribute name="body"   value="/friends.jsp"/>      
  </definition>
  
  <definition name="office" extends="baseLayout">
      <put-attribute name="title"  value="Office"/>
      <put-attribute name="body"   value="/office.jsp"/>      
  </definition>
  
</tiles-definitions>
5、编写action类 LinkAction.java
package com.vaannila.action;
import com.opensymphony.xwork2.ActionSupport;
public class LinkAction extends ActionSupport {
private static final long serialVersionUID = -2613425890762568273L;
public String welcome()
{
return "welcome";
}
public String friends()
{
return "friends";
}
public String office()
{
return "office";
}
}
6、配置struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="*Link" method="{1}" class="com.vaannila.action.LinkAction">
<result name="welcome" type="tiles">welcome</result>
<result name="friends" type="tiles">friends</result>
<result name="office" type="tiles">office</result>
</action>
</package>
</struts>
7、编写各界面代码:

index.jsp
起始页面,也可不写,直接走action也行
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=welcomeLink.action">

header.jsp
<div align="center" style="font-weight:bold">TV shows</div>

menu.jsp
<%@taglib uri="/struts-tags" prefix="s"%>
<a href="<s:url action="welcomeLink"/>" >welcome</a><br>
<a href="<s:url action="friendsLink"/>" >Friends</a><br>
<a href="<s:url action="officeLink"/>" >The Office</a><br>

body.jsp
<p> sample body content.</p>

welcome.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>welcome</title>
</head>
<body>Welcome Guest.
</body>
</html>

office.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<p>More details about the Office TV show goes here...</p>
</body>
</html>

friends.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <p>More details about the Friends TV show goes here...</p>
    </body>
</html>

配置完成,运行Index.jsp,显示如下:
大功告成啦!!!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值