Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > jsp+jstl


Автор: ratzko 30.1.2008, 20:58
есть две jsp стрени4ки: 


index.jsp:

Код

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

<html>
<head><title>Hello</title></head>
<body bgcolor="white">
<img src="duke.waving.gif"> 

<h2>Hello, my name is Duke. What's yours?</h2>
<form method="get">
<input type="text" name="username" size="25">
<p></p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

<c:if test="${fn:length(param.username) > 0}" >
  <%@include file="response.jsp" %>
</c:if>
</body>
</html>


и resonse.jsp

Код

<h2><font color="black">Hello, ${param.username}!</font></h2>


Параметер username по4ему то не с4итывается!?
В 4ем тут проблема?

Автор: v2v 30.1.2008, 23:21
попробуй <c:out value="${param.username}"></c:out>

Автор: ratzko 30.1.2008, 23:41
пробовал тозе самое

Автор: Kangaroo 31.1.2008, 00:17
ratzko, 
а если написать это не в отдельном файле, а в том же - работает?
И напиши, что выводится на страницу..

Автор: ratzko 31.1.2008, 00:20
в одном фаиле тозе пробовал!

выводить форму и если <c:if> убрать ${param.username}

Автор: Kangaroo 31.1.2008, 00:24
ratzko, 
тогда показывай web.xml
Есть вариант что у тебя таже проблема с которой я полчаса назад разбирался  smile

Добавлено через 2 минуты и 42 секунды
И еще - откуда берется param ? Или это стандартная переменная в jsp/jstl ?

Автор: Samotnik 31.1.2008, 00:27
Цитата(Kangaroo @  31.1.2008,  00:24 Найти цитируемый пост)
Есть вариант что у тебя таже проблема с которой я полчаса назад разбирался 
 
ага, я сегодня целый день долбился,  оказалось что в  web.xml  версия  5 была, а нужно было 4  указать.  А  томкат бедный  молчал ошибок не выкидывал,  в себе держал  smile 

ratzko, выкладывайте все!  бум разбираться  smile 

Автор: ratzko 31.1.2008, 00:27
4то там долзнo быть?
он у меня  пустои!

Автор: Samotnik 31.1.2008, 00:28
Цитата(ratzko @  31.1.2008,  00:27 Найти цитируемый пост)
4то там долзнo быть?он у меня  пустои!

там мапинг вашего сервлета (как минимум)  должен быть .
Кста, а сервлет где?  тоже давайте сюда

Автор: Kangaroo 31.1.2008, 00:29
У меня все работает, поэтому показывай web.xml.. там ошибка

Добавлено через 1 минуту и 4 секунды
Цитата(Samotnik @  30.1.2008,  23:27 Найти цитируемый пост)
ага, я сегодня целый день долбился,  оказалось что в  web.xml  версия  5 была, а нужно было 4  указать.  А  томкат бедный  молчал ошибок не выкидывал,  в себе держал  smile 

хо хо  smile Я точно такую проблему только что решал.. но мне час хватило.. ужас

Добавлено через 3 минуты и 32 секунды
Цитата(ratzko @  30.1.2008,  23:27 Найти цитируемый пост)
4то там долзнo быть?
он у меня  пустои! 

Вот скопируй туда:
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>



Цитата(Samotnik @  30.1.2008,  23:28 Найти цитируемый пост)
Кста, а сервлет где?  тоже давайте сюда

Сервлет не нужен. Тут же просто две джсп.

Автор: Samotnik 31.1.2008, 00:35
Цитата(Kangaroo @  31.1.2008,  00:29 Найти цитируемый пост)
Сервлет не нужен. Тут же просто две джсп.

ну тогда  велкам файл лист должен быть  и....   О  ДАА   эта    гребаная  4  версия   smile 

Автор: ratzko 31.1.2008, 00:56
Kangaroo, спасибо все работает!

Автор: Kangaroo 31.1.2008, 01:00
Цитата(ratzko @  30.1.2008,  23:56 Найти цитируемый пост)
Kangaroo, спасибо все работает! 

Да не за что  smile  
Сам только вот начинаю пробовать jsp/jstl и столкнулся с этой проблемой...

Автор: ratzko 31.1.2008, 01:08
Sun tutorial
Цитата

If your web module does not contain any servlets, filter, or listener components then it does not need a web application deployment descriptor. In other words, if your web module only contains JSP pages and static files then you are not required to include a web.xml file.


Как ето понимать?

Цитата

И еще - откуда берется парам ? Или это стандартная переменная в йсп/йстл ?


Как я понял param == request.getParameter()

Автор: Kangaroo 31.1.2008, 01:15
Цитата(ratzko @  31.1.2008,  00:08 Найти цитируемый пост)
Как ето понимать?

Пока не знаю ) Я сегодня только ее решил, а завтра буду разбираться в причинах...

Пока я понял, что web.xml определяют версию приложения, это помогает Томкету определить какое jsp/jstl использовать.
Можешь, кстати, еще убрать web.xml и прописать http://java.sun.com/jstl/core , вроде тоже должно работать.


ЗЫ
Может кто знает? Отписываемся, не стесняемся  smile 

Автор: v2v 31.1.2008, 23:47
ребятки я не знаю как вы деплоите, но :
1. создал папку Tomcat6\webapps\tlt
2. создал внутри два файлка index.jsp , response.jsp
3. проверил наличие standart.jar и jstl.jar в папке с либами.
4. перезапустил томкэк
5. выполнил запрос: http://localhost:8080/tlt/?username=ewdewdwe
6. получил Hello, ewdewdwe!
это всё.

Автор: Kangaroo 1.2.2008, 00:13
v2v, 
а попробуй тоже самое сделать на 5м Томкете  smile  На 6м и у меня работало... а у клиента 5й стоит, вот и парился. 

ЗЫ
Пока не добрался до изучения этой проблемы.

Автор: Greg 1.2.2008, 01:01
Цитата(ratzko @  31.1.2008,  01:08 Найти цитируемый пост)
Как ето понимать?
 Присутсвие web.xml в приложении не обязательно, так как обычно он наследует дефолтный, поставляемый вместе с контейнером. Для Tomcat, например, это %CATALINA_HOME%\conf\web.xml.
Двух файлов и двух библиотек будет достаточно для работы.

Добавлено через 1 минуту и 26 секунд
Цитата(Kangaroo @  1.2.2008,  00:13 Найти цитируемый пост)
v2v, 
а попробуй тоже самое сделать на 5м Томкете 

Работает на Tomcat 5.5.25

Автор: Kangaroo 1.2.2008, 01:22
Цитата(Greg @  1.2.2008,  00:01 Найти цитируемый пост)
Работает на Tomcat 5.5.25 

хм, может я поспешил, с учетом того, что:
Цитата(Greg @  1.2.2008,  00:01 Найти цитируемый пост)
Присутсвие web.xml в приложении не обязательно, так как обычно он наследует дефолтный, поставляемый вместе с контейнером. Для Tomcat, например, это %CATALINA_HOME%\conf\web.xml.

У меня мой web.xml перекрывал его, поэтому не работало.

Тогда получается у ratzko что-то не так было в web.xml Томкетовском?

Автор: Greg 1.2.2008, 11:38
Скорее всего дефолтный web.xml был версии 2.3, в которой Expression Language по умолчанию отключен, соответсвенно включается директивой 
Код

<%@ page isELIgnored = "false"%>


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)