|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Daigotsu : 173 Новичок
|
Фев 13, 2012 11:25 |
|
|
День добрый. Возникла неразрешимая мною проблема при работе с tiles в struts. Как бороться?
При попытке вставить на страницу layout.jsp например header получаю NPE: вот стэктрэйс:
| Код: |
org.apache.jasper.JasperException: An exception occurred processing JSP page /layouts/layout.jsp at line 20
17: <title>TITLE</title>
18: </head>
19: <body>
20: <tiles:insert attribute="header"></tiles:insert>
21: </body>
22: </html:html>
23: </jsp:root>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
root cause
java.lang.NullPointerException
org.apache.struts.tiles.taglib.InsertTag.processAttribute(InsertTag.java:690)
org.apache.struts.tiles.taglib.InsertTag.createTagHandler(InsertTag.java:481)
org.apache.struts.tiles.taglib.InsertTag.doStartTag(InsertTag.java:441)
org.apache.jsp.layouts.layout_jsp._jspx_meth_tiles_005finsert_005f0(layout_jsp.java:141)
org.apache.jsp.layouts.layout_jsp._jspx_meth_html_005fhtml_005f0(layout_jsp.java:98)
org.apache.jsp.layouts.layout_jsp._jspService(layout_jsp.java:64)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
|
собственно вот моя страница layout.jsp
| Код: |
<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:tiles="http://struts.apache.org/tags-tiles"
xmlns:html="http://struts.apache.org/tags-html" version="2.0">
<jsp:directive.page contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" session="true" />
<jsp:output doctype-root-element="html"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
omit-xml-declaration="true" />
<html:html>
<head>
<link rel="stylesheet" type="text/css"
href="/css/style.css" />
<html:base />
<title>TITLE</title>
</head>
<body>
<tiles:insert attribute="header"></tiles:insert>
</body>
</html:html>
</jsp:root> |
вот конфиги:
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>NewsAggregator</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>
com.corp.testapp.resource.application
</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/struts-config.xml
</param-value>
</init-param>
<init-param>
<param-name>chainConfig</param-name>
<param-value>org/apache/struts/tiles/chain-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
|
struts-config.xml
| Код: |
<?xml version="1.0" encoding="UTF-8"?>
<struts-config>
<form-beans>
<form-bean name="newsForm" type="com.corp.testapp.presentation.form.NewsForm">
</form-bean>
</form-beans>
<global-forwards>
<forward name="newsList" path="/news.do?method=list"></forward>
</global-forwards>
<action-mappings>
<action path="/news" type="com.corp.testapp.presentation.action.NewsAction"
name="newsForm">
<forward name="goListPage" path="page.newsList" />
<forward name="goViewPage" path="page.newsView" />
<forward name="goEditPage" path="page.newsEdit" />
<forward name="goAddPage" path="page.newsAdd" />
</action>
</action-mappings>
<message-resources parameter="resource.messages" null="false" />
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
</plug-in>
<!-- Spring Struts plugin -->
<!-- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/SpringBeans.xml" />
</plug-in> -->
</struts-config> |
tiles-defs.xml
| Код: |
<?xml version="1.0" encoding="UTF-8"?>
<tiles-definitions>
<definition name="main.definition" path="/layouts/layout.jsp">
<put name="header" value="/tiles/header.jsp" />
<put name="body" value="/tiles/main.jsp" />
<put name="menu" value="/tiles/menu.jsp" />
<put name="footer" value="/tiles/footer.jsp" />
</definition>
<definition name="page.newsList" extends="main.definition">
<put name="body" value="/tiles/main.jsp" />
</definition>
<definition name="page.newsView" extends="main.definition">
<put name="body" value="/tiles/view.jsp" />
</definition>
<definition name="page.newsEdit" extends="main.definition">
<put name="body" value="/tiles/edit.jsp" />
</definition>
<definition name="page.newsAdd" extends="main.definition">
<put name="body" value="/tiles/edit.jsp" />
</definition>
</tiles-definitions> |
|
|
|
|
 |
tender_swallow : 472 Бывалый Откуда: Ivanovo
|
Фев 13, 2012 14:40 |
|
|
| На первый взгляд вроде все как надо. Может быть у Вас внутри header.jsp падает на NPE? Покажите ее содержимое. |
|
|
|
 |
Daigotsu : 173 Новичок
|
Фев 13, 2012 15:13 |
|
|
| tender_swallow писал(а): |
| На первый взгляд вроде все как надо. Может быть у Вас внутри header.jsp падает на NPE? Покажите ее содержимое. |
Спасибо за ответ! нет, по ошибке видно что до хедера не дошел ещё парсер.
НО я нашёл ошибку. Это - моя невнимательность. я в tiles-defs.xml указал
| Код: |
| <put name="menu" value="/tiles/menu.jsp" / |
а jsp /tiles/menu.jsp не создал. Из-за этого такие беды. |
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Java и веб технологии |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|