struts2笔记之整合Tiles

1、添加应有的包到web-inf/lib下

commons-beanutils-1.8.0.jar
commons-collections-3.1.jar
commons-digester-2.0.jar
struts2-tiles3-plugin-2.3.15.3.jar
tiles-api-2.0.6.jar
tiles-core-2.0.6.jar
tiles-jsp-2.0.6.jar

2、tiles.xml配置

2.1、在/src下新建tiles.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
       "http://jakarta.apache.org/struts/dtds/tiles-config.dtd">
<tiles-definitions>
    <!-- 定议一个模版 -->
    <definition name="test" template="template.jsp">
        <!-- 设置各模块的内容 -->
    </definition>
</tiles-definitions>

2.2、template.jsp

注意:<tiles:getAsString name="content" />中的content,在其他jsp调用模版时要用到content

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="struts" uri="/struts-tags"%>
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><struts:property value="title" /></title>
</head>

<body>
    <div align="center" style="margin:10px;"">
        <table width="100%">
            <tr>
                <td align="right"><a
                    href="        
                <struts:url action="user?action=login" includeParams="none"></struts:url> ">登录</a>
                    <a
                    href="
                <struts:url action="user?action=register" includeParams="none"></struts:url> ">注册</a>
                </td>
            </tr>
        </table>
    </div>
    <tiles:getAsString name="content" />
</body>
</html>

3、struts.xml

<package name="main" extends="tiles-default">

4、web.xml加上

    <context-param>
        <param-name>org.apache.tiles.CONTAINER_FACTORY</param-name>
        <param-value>org.apache.struts2.tiles.StrutsTilesContainerFactory</param-value>
    </context-param>
    
    <context-param>
    <param-name>
    org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
    </param-name>
    <param-value>
    /WEB-INF/classes/tiles.xml
    </param-value>
    
    </context-param>
    <listener>
    <listener-class>
 org.apache.tiles.web.startup.TilesListener</listener-class>
    </listener>

5、在其他jsp调用模板

注意:

<tiles:insertTemplate template="/template.jsp">
<tiles:putAttribute name="content">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="struts" uri="/struts-tags"%>
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>

<tiles:insertTemplate template="/template.jsp">
    <tiles:putAttribute name="content">
        <div align="center" style="margin:10px;">
            <fieldset>
                <legend>登录</legend>
                <struts:form action="user">
                    <struts:hidden name="action" value="login"></struts:hidden>
                    <struts:textfield name="uid" label="帐号"></struts:textfield>
                    <struts:password name="pwd" label="密码"></struts:password>
                    <struts:submit value="登录"></struts:submit>
                </struts:form>
            </fieldset>
        </div>
    </tiles:putAttribute>
</tiles:insertTemplate>

Done

原文地址:https://www.cnblogs.com/xingyyy/p/3454665.html