Как вывести HTML из JSP блока?

Я только начал изучать технологию JSP и наткнулся на стену.

*Как вывести HTML из метода в <%! ... %> блока декларации JSP?

Это'не работает:

<%! 
void someOutput() {
    out.println("Some Output");
}
%>
...
<% someOutput(); %>

Server says there's no “out”.

U: Я знаю, как переписать код, в котором этот метод возвращает строку, но есть ли способ сделать это внутри <%! void () { } %> ? Пусть это и неоптимально, но все же интересно.

Внутри директив нельзя использовать переменную 'out' (как и другие "предопределенные" переменные скриптлета).

JSP-страница транслируется вашим веб-сервером в Java-сервлет. В tomcats, например, все, что находится внутри скриптов (которые начинаются "

Комментарии (4)

...

Попробуйте это, это работает для меня!

Комментарии (0)

Полагаю, это поможет:


...

В любом случае, иметь код в представлении - не самая лучшая идея.

Комментарии (0)

Все, что вам нужно сделать, это передать объект JspWriter в метод в качестве параметра, т.е.

void someOutput(JspWriter stream)

Затем вызвать его через:

Объект writer является локальной переменной внутри _jspService, поэтому его необходимо передать в метод утилиты. То же самое относится и ко всем остальным встроенным ссылкам (например, request, response, session).

Отличным способом посмотреть, что происходит, является использование Tomcat в качестве сервера и поиск в каталоге 'work' файла '.java', созданного на вашей странице 'jsp'. В качестве альтернативы в weblogic можно использовать компилятор страниц 'weblogic.jspc' для просмотра Java-файла, который будет сгенерирован при запросе страницы.

Комментарии (0)

Простой альтернативой может быть следующее:




<h1>${myVariable}</h1>

Вы могли бы просто использовать переменную в код JSP

Комментарии (0)

Вы можете сделать что-то вроде этого:



Это будет выход теста 1 2 3 к странице.

Комментарии (0)

слишком поздно, чтобы ответить на него, но в этом помочь другим

0){
              res.getWriter().write("") ; 
          }
       }catch(Exception exp){

       }
     }

%>
Комментарии (0)

Вы можете сделать что-то вроде этого: <БР>

Комментарии (1)