我正在使用一个struts2 web应用程序,我正在使用Apache tiles2框架。 代码在localhost上工作正常,但是当我在服务器上启动代码时,它会将平铺页面呈现为纯文本。任何人都可以告诉我问题出在哪里。 我的意思是说该页面在浏览器端显示为纯文本。
这是在浏览器中呈现的方式..屏幕截图 - http://i42.tinypic.com/2vnj686.jpg
如果有人有解决方案,请帮助我......这是我的tiles.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd" >
<!-- "http://tiles.apache.org/dtds/tiles-config_2_1.dtd" -->
<tiles-definitions>
<definition name="BaseDef" template="/adminpanel/template/BaseLayout.jsp">
<put-attribute name="title" value="Home Page" />
<put-attribute name="css" value="/adminpanel/template/extracss.jsp" />
<put-attribute name="js" value="/adminpanel/template/js.jsp" />
<put-attribute name="header" value="/adminpanel/template/header.jsp" />
<put-attribute name="body" value="/adminpanel/template/body.jsp" />
<put-attribute name="footer" value="/adminpanel/template/footer.jsp" />
</definition>
<definition name="LatestMaterial" extends="BaseDef">
<put-attribute name="title" value="Latest Exam Material " />
<put-attribute name="css" value="/adminpanel/template/newtablecss2.jsp" />
<put-attribute name="body" value="/adminpanel/Pages/latestexammaterial.jsp" />
</definition>
</tiles-definitions>
这是我的BaseLayout.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ 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 xmlns="http://www.w3.org/1999/xhtml">
<head>
<tiles:insertAttribute name="css"/>
<tiles:insertAttribute name="js"/>
<title><tiles:insertAttribute name="title" /></title>
</head>
<body>
<div id="main">
<tiles:insertAttribute name="header"/>
<div id="body">
<tiles:insertAttribute name="body"/>
</div></div>
<tiles:insertAttribute name="footer"/>
</body>
</html>
这就是我在struts.xml中使用它的方式
<package name="wz.admin" extends="struts-default,json-default,tiles-default">
<action name="LatestMaterial" class="org.wz.admin.LatestMaterialAction">
<result type="tiles">LatestMaterial</result>
</action>
</package>
答案 0 :(得分:0)
我仔细检查了你的代码,我认为问题是你的struts.xml
,因为一切似乎都很好。我不确定100%,但尝试将struts.xml
更改为:
<package name="wz.admin" extends="struts-default" namespace="/">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="LatestMaterial" class="org.wz.admin.LatestMaterialAction">
<result type="tiles">LatestMaterial</result>
</action>
</package>
此外,即使success
结果是默认结果,您也应该为结果命名,以避免在管理多个结果时出现误导:
<result name="success" type="tiles">LatestMaterial</result>
这只是我在使用struts时给我的建筑师的一个建议。最后我发现它非常有用。