Tservarius
Mitglied
Hi Leute,
hier ein kleines Problem von mir. Erstmal nen Haufen Sourcecode (schon reduziert) und denn weiter unten mein Problem und die Frage.
struts-config.xml
---------------------------------------------------------------------------
tiles-defs.xml
---------------------------------------------------------------------------
layout.jsp
---------------------------------------------------------------------------
login.jsp
---------------------------------------------------------------------------
Mein Problem:
---------------------------------------------------------------------------
Die Tags in der layout.jsp werden korrekt gelesen, die tags in der login.jsp jedoch nicht und es resultiert nur die Fehlermeldung:
ServletException in:/jsp/login.jsp] Error - tag.getAsString : attribute 'test' not found in context. Check tag syntax'
Was mache ich falsch, bzw. warum werden die tiles-tags in der layout.jsp interpretiert, aber nicht mehr in den einzelnen jsp's wie z.B. login.jsp, welches selbst in der layout.jsp eingebunden wird.
Schonma danke im Voraus!
hier ein kleines Problem von mir. Erstmal nen Haufen Sourcecode (schon reduziert) und denn weiter unten mein Problem und die Frage.
struts-config.xml
---------------------------------------------------------------------------
Code:
....
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-parser-validate" value="true" />
<set-property property="moduleAware" value="true" />
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
</plug-in>
....
tiles-defs.xml
---------------------------------------------------------------------------
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="base.definition" path="/jsp/layout.jsp">
<put name="title" value="testtitle" />
</definition>
<definition name="page.login" extends="base.definition">
<put name="test" value="test" />
<put name="body" value="/jsp/login.jsp" />
</definition>
</tiles-definitions>
layout.jsp
---------------------------------------------------------------------------
Code:
<%@ page language="java"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html locale="true">
<head>
<html:base />
<title><tiles:getAsString name="title" /></title>
<div class="content">
<tiles:insert attribute="body" />
</div>
</body>
</html:html>
login.jsp
---------------------------------------------------------------------------
Code:
<%@ page language="java"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles"
prefix="tiles"%>
<div class="introtext">
<h4>
<tiles:getAsString name="test" />
</h4>
</div>
Mein Problem:
---------------------------------------------------------------------------
Die Tags in der layout.jsp werden korrekt gelesen, die tags in der login.jsp jedoch nicht und es resultiert nur die Fehlermeldung:
ServletException in:/jsp/login.jsp] Error - tag.getAsString : attribute 'test' not found in context. Check tag syntax'
Was mache ich falsch, bzw. warum werden die tiles-tags in der layout.jsp interpretiert, aber nicht mehr in den einzelnen jsp's wie z.B. login.jsp, welches selbst in der layout.jsp eingebunden wird.
Schonma danke im Voraus!