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


Автор: Dims 19.6.2008, 11:48
Вот такой код:

Код

<h2>Hello World!</h2>
<p>EL: <c:out value="${ephyra.absolutePath}"/></p>
<p>JSP: <jsp:getProperty name="ephyra" property="absolutePath"/> </p>


выводится в браузере вот так

Код

<h2>Hello World!</h2>
<p>EL: ${ephyra.absolutePath}</p>
<p>JSP: /usr/share/tomcat5/test.txt </p>


То есть, тег c:out работает, а расшифровка выражений EL не работает.

Глюк возник при переносе war файла на Fedora-Linux, на локальной машине (в среде NetBeans) всё работает нормально.

В чём может быть дело? Какие-то библиотеки отсутствуют?

Автор: ochnev 19.6.2008, 12:12
Соответствующие *.tld и библиотеки тоже перенёс?
Сервер приложений на тех 2 машинах один и тот же или отличается?
В JSP-страницах прописано использование JSTL?

Автор: check 19.6.2008, 14:20
Можно попробовать вставить в начале страницы директиву  <%@   page   ELIgnore="false"%>

Добавлено через 2 минуты и 9 секунд
В контейнере expression language может быть по умолчанию отключен.

Автор: Dims 19.6.2008, 14:33
Сейчас разбирают с версиями. На Юниксе версия джавы 1.4, томката 5, на машине разработчика 1.5 и 6 соответственно.

Файлов *.tld я не нашёл нигде, в том числе и на машине разработчика. Где они должны быть? В Нетбинс я подключил библиотеку JSTL 1.1, это привело к появлению внутри war файла файлов jstl.jar и standard.jar. Этого недостаточно?

В странице прописана только одна определяющая строчка

Код

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


все остальные команды относятся к частным вещам.


Автор: AntonSaburov 19.6.2008, 15:00
Посмотри здесь - http://antonsaburov.narod.ru/students/part9.html
Там в саммо конце список файлов есть.

Код

WEB-INF
   tld
      -c.tld
      -c-1_0.tld
      -c-1_0-rt.tld
      -fmt.tld
      -fmt-1_0.tld
      -fmt-1_0-rt.tld
      -fn.tld
      -permittedTaglibs.tld
      -scriptfree.tld
      -sql.tld
      -sql-1_0.tld
      -sql-1_0-rt.tld
      -x.tld
      -x-1_0.tld
      -x-1_0-rt.tld
   -web.xml

Автор: Griphon 31.5.2009, 16:03
Начал разбираться с J2EE по учебнику, в нем есть простой пример формы заказа  пиццы  
Код

<html>
  <head>
    <title>Take The Pizza</title>
    <style type="text/css">
      H1 {
        font-size: 12pt;
        font-weight: bold;
      }
    </style>
  </head>
  <body>



<p>
      Welcome to Take the Pizza Online! We're eager to take your order
      for pizza via our new web form.
      </p>
      <p>
      Please fill out the fields below and click on "Place Order" when
      you're done.
      </p>
      <h1>Your Information:</h1>
      <table>
        <tr>
          <td>
            Name:
          </td>
          <td>
            <input type="text" name="name" size="30"/>
          </td>
        </tr>
        <tr>
          <td>
            Address:
          </td>
          <td>
            <textarea rows="4" cols="40" name="address"></textarea>
          </td>
        </tr>
 </table>
<h1>Order Type:</h1>
      <table>
        <tr>
          <td>
            <input type="radio" name="purchaseType"
                        value="Home Delivery"/>
          </td>
          <td>
            Home Delivery
          </td>
        </tr>
        <tr>
          <td>
            <input type="radio" name="purchaseType" value="Take Away"/>
          </td>
          <td>
            Take Away
          </td>
        </tr>

<h1>Please Select Any Additional Toppings:</h1>
      <table>
        <tr>
          <td>
            <input type="checkbox" name="topping" value="Peppers"/>
          </td>
          <td>
            Peppers
          </td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" name="topping" value="Sweetcorn"/>
          </td>
          <td>
            Sweetcorn
          </td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" name="topping" value="Mouse innards"/>
          </td>
          <td>
            Mouse Innards
          </td>
        </tr>
      </table>
<h1>Pizza Size:</h1>
      <table>
        <tr>
          <td>
            Size:
          </td>
          <td>
            <select name="size">
              <option>Small</option>
              <option selected="true">Medium</option>
              <option>Large</option>
            </select>
          </td>
        </tr>
      </table>
<form action="process.jsp" method="post">

<input type="submit" value="Place Order"/>



    </form>
  </body>
</html>


которая должна передавать краткую информацию о заказе в jsp страницу
Код JSP страницы :

Код

<html>
  <head>
    <title>Your details</title>
    <style type="text/css">
      H1 {
        font-size: 12pt;
        font-weight: bold;
      }
    </style>
  </head>

  <body>
    <h1>Your Details</h1>

    <table>
      <tr>
        <td>Name: </td>
        <td>${param.name}</td>
      </tr>
      <tr>
        <td>Address:</td>
        <td>${param.address}</td>
      </tr>
      <tr>
        <td>Delivery type:</td>
        <td>${param.purchaseType}</td>
      </tr>
      <tr>
        <td>Toppings:</td>
        <td>${paramValues.topping[0]}</td>
      </tr>
      <tr>
        <td></td>
        <td>${paramValues.topping[1]}</td>
      </tr>
      <tr>
        <td></td>
        <td>${paramValues.topping[2]}</td>
      </tr>
      <tr>
        <td>Pizza size:</td>
        <td>${param["size"]}</td>
      </tr>
    </table>

    <p>Thank you for ordering.</p>

  </body>
</html>


Страница загружается но без значения параметров :

Your Details
Name:    
Address:    
Delivery type:    
Toppings:    
    
    
Pizza size:    

Thank you for ordering.

Все библиотеки описанные выше скопировал в WEB-INF. Вчем может быть проблема?         smile  

Автор: Griphon 31.5.2009, 22:41
Сорри за беспокойство,походу разобрался

Код

<html>
  <head>
    <title>Take The Pizza</title>
    <style type="text/css">
      H1 {
        font-size: 12pt;
        font-weight: bold;
      }
    </style>
  </head>
  <body>
<form action="process.jsp" method="post">
<p>
      Welcome to Take the Pizza Online! We're eager to take your order
      for pizza via our new web form.
      </p>
      <p>
      Please fill out the fields below and click on "Place Order" when
      you're done.
      </p>
      <h1>Your Information:</h1>
      <table>
        <tr>
          <td>
            Name:
          </td>
          <td>
            <input type="text" name="name" size="30"/>
          </td>
        </tr>
        <tr>
          <td>
            Address:
          </td>
          <td>
            <textarea rows="4" cols="40" name="address"></textarea>
          </td>
        </tr>
 </table>
<h1>Order Type:</h1>
      <table>
        <tr>
          <td>
            <input type="radio" name="purchaseType"
                        value="Home Delivery"/>
          </td>
          <td>
            Home Delivery
          </td>
        </tr>
        <tr>
          <td>
            <input type="radio" name="purchaseType" value="Take Away"/>
          </td>
          <td>
            Take Away
          </td>
        </tr>
<h1>Please Select Any Additional Toppings:</h1>
      <table>
        <tr>
          <td>
            <input type="checkbox" name="topping" value="Peppers"/>
          </td>
          <td>
            Peppers
          </td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" name="topping" value="Sweetcorn"/>
          </td>
          <td>
            Sweetcorn
          </td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" name="topping" value="Mouse innards"/>
          </td>
          <td>
            Mouse Innards
          </td>
        </tr>
      </table>
<h1>Pizza Size:</h1>
      <table>
        <tr>
          <td>
            Size:
          </td>
          <td>
            <select name="size">
              <option>Small</option>
              <option selected="true">Medium</option>
              <option>Large</option>
            </select>
          </td>
        </tr>
      </table>

<input type="submit" value="Place Order"/>
    </form>
  </body>
</html>

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