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

Спасибо!
...
Рейтинг: 0 / 0
JSP, наследование(?)
    #37861860
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выбрал 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
JSP, наследование(?)
    #37861927
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде нашел, в tiles-core-2.0.6 нет org.apache.tiles.servlet.TilesServlet, а в 2.0.3 есть %). Ткните пожалуйста, где указано какие jar подключать, а то на ничего не находится (
...
Рейтинг: 0 / 0
JSP, наследование(?)
    #37862265
ukku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через 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
JSP, наследование(?)
    #37862354
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ukku
Откуда, блин, это люди узнают? - на сайте апача не слова же.

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


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


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