Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JSP, наследование(?) / 12 сообщений из 12, страница 1 из 1
30.06.2012, 15:48:09
    #37861567
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
Добрый день. Встал вопрос. К примеру у сайта есть шапка, меню-навигации и тело. При переходе по разным страницам сайта шапка и меню не меняется. Получается, что в каждом jsp файле надо дублировать код. Как-то можно красиво решить эту проблему? Появляется мысль как-то оформить это с помощью собственных тэгов, только не могу сообразить, как это сделать, по хорошему.
...
Рейтинг: 0 / 0
30.06.2012, 15:50:54
    #37861572
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
1) Templates Engine - FreeMarker, Velocity, Tiles
2) jsp tag <include>
3) Можно и самому написать но лучше использовать 1 и 2
...
Рейтинг: 0 / 0
30.06.2012, 16:00:54
    #37861580
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
забыл ник,

Спасибо!
...
Рейтинг: 0 / 0
01.07.2012, 00:17:07
    #37861860
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
Выбрал Tiles, но возникли трудности. Возникает исключение:
Tomcatjavax.servlet.jsp.JspException: TilesContainer not initialized
org.apache.tiles.jsp.taglib.ContainerTagSupport.doStartTag(ContainerTagSupport.java:72)

В какую сторону смотреть?
web.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?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_3_0.xsd" id="WebApp_ID" version="3.0">
		
		<servlet>
		    <servlet-name>tiles</servlet-name>
		    <servlet-class>org.apache.tiles.servlet.TilesServlet</servlet-class>
		    <init-param>
		        <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
		        <param-value>/WEB-INF/tiles-defs.xml</param-value>
		    </init-param>
		    <load-on-startup>2</load-on-startup>
		</servlet>

 		<servlet>
             <servlet-name>dispatcher</servlet-name>
             <servlet-class>mServlets.Dispatcher</servlet-class>
        </servlet>

        <servlet-mapping>
             <servlet-name>dispatcher</servlet-name>
             <url-pattern>/hello</url-pattern>
        </servlet-mapping>
</web-app>



tiles-defs.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?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="myapp.homepage" template="index.jsp">
	  <put-attribute name="title" value="Tiles tutorial homepage" />
	  <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>
</tiles-definitions>



index.jsp
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" language="java" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>

<html>
  <head>
    <title><tiles:getAsString name="title"/></title>
  </head>
  <body>
        <table>
      <tr>
        <td colspan="2">
          <tiles:insertAttribute name="header" />
        </td>
      </tr>
      <tr>
        <td>
          <tiles:insertAttribute name="menu" />
        </td>
        <td>
          <tiles:insertAttribute name="body" />
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <tiles:insertAttribute name="footer" />
        </td>
      </tr>
    </table>
  </body>
</html>


...
Рейтинг: 0 / 0
01.07.2012, 09:56:09
    #37861927
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
Вроде нашел, в tiles-core-2.0.6 нет org.apache.tiles.servlet.TilesServlet, а в 2.0.3 есть %). Ткните пожалуйста, где указано какие jar подключать, а то на ничего не находится (
...
Рейтинг: 0 / 0
02.07.2012, 00:08:36
    #37862265
ukku
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
Через n-ое количество часов проблема решилась. На каком-то немецком форуме нашел, надо заменить это:
Код: xml
1.
<servlet-class>org.apache.tiles.servlet.TilesServlet</servlet-class>


на это:
Код: xml
1.
<servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class>


Откуда, блин, это люди узнают? - на сайте апача не слова же.
...
Рейтинг: 0 / 0
02.07.2012, 08:23:01
    #37862354
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
ukku
Откуда, блин, это люди узнают? - на сайте апача не слова же.

всмысле откуда? сорцы в зубы и дебагом..


мы как то словили невнятный IllegalArgumentException от штрутса. Долго думали, копали, в итоге скачали сорцы, продебажили и увидели, что у нас локаль не передавалась, в итоге дробное число, которое с формы приходило с запятой, не могло распарситься, вылетал NumberFormatException (или ParseException какой-то, не суть), далее он ловился в блоке catch в одном из фильтров и зачем то создавался новый IllegalArgumentException и бросался дальше. А NumberFormatException терялся
...
Рейтинг: 0 / 0
07.07.2012, 11:19:05
    #37869979
AlexSerov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
ukku, по-хорошему посмотрите HybridJava.
...
Рейтинг: 0 / 0
07.07.2012, 22:49:59
    #37870373
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
AlexSerovukku, по-хорошему посмотрите HybridJava.
Это тот странный фреймворк с дизайном из конца 90-х?
...
Рейтинг: 0 / 0
07.07.2012, 23:04:01
    #37870379
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
AlexSerovukku, по-хорошему посмотрите HybridJava.
Ну хватит уже :)) 12768562
...
Рейтинг: 0 / 0
13.07.2012, 05:20:03
    #37877500
AlexSerov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
Nixic, А по существу поговорить - слабо? AlexSerov51@gmail.com
...
Рейтинг: 0 / 0
13.07.2012, 05:23:32
    #37877501
AlexSerov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP, наследование(?)
Leonidv, не путайте дизайн фреймворка HybridJava с дизайном его вэб страницы. Смотрите больше на примеры если Вы такой крутой. Эти примеры Вы ни на чём легко не запрограммируете ни из девяностых, ни из нулевых, ни даже из десятых.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JSP, наследование(?) / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]