Написание чистого кода JSP - PullRequest
       6

Написание чистого кода JSP

0 голосов
/ 03 декабря 2011

Одна из проблем на моем практическом экзамене:

Написание чистого кода JSP

Очень сложно понять, что делает следующий фрагмент jsp.Он использует неявную переменную out, которая явно записывает в теле ответа http страницу HTML, которая возвращается браузеру.Перепишите его так, как это делал бы здравомыслящий программист jsp.

<%

 out.write(“<HTML>”);

 out.write(“<HEAD><TITLE>foo</TITLE></HEAD>”);

 out.write(“<BODY> List of Temperatures:”);

 out.write(“<UL><LI>La Jolla:” + weather(“La Jolla”) + “</LI>”); 

 out.write(“<LI>El Cajon:” + weather(“El Cajon”) + “</LI></UL>”);

 out.write(“</BODY></HTML>”);

/%>

Я немного растерялся.Должен ли ответ быть следующим:

<html>
<Head><Title>foo</Title></Head>
<Body>
    ....
</Body>
</html>

1 Ответ

1 голос
/ 03 декабря 2011

Технология JSP подчеркивает разделение статического контента и динамического контента.

Это как движок шаблонов, который позволяет вам определять шаблон, который содержит статическое и динамическое содержимое. Вы можете напрямую использовать HTML-код для разметки статического содержимого и использовать некоторые «заполнители» (например, библиотеки тегов или выражения EL и т. Д.) Для определения динамического содержимого, которое будет вставлено в статический контент.

В вашем примере единственным динамическим содержимым является результат, возвращаемый функцией weather(xxxxx). Я предполагаю, что эта функция может быть реализована как статическая функция, которая просто принимает название города и возвращает строку, описывающую погоду этого города.

Выражение EL позволяет определить пользовательскую функцию . После того, как вы реализуете weather(xxxxx) как пользовательскую функцию EL, вы можете вызвать ее в JSP:

<html>
<Head><Title>foo</Title></Head>
<Body>
   List of Temperatures:
   <UL>
          <LI>La Jolla:  ${myLibrary:weather("La Jolla")} </LI>
          <LI>El Cajon:  ${myLibrary:weather("El Cajon")} </LI>
   </UL>
</Body>
</html>

Теперь JSP должен быть более чистым, так как он больше не содержит скриптлет (код Java), а все динамическое содержимое инкапсулировано функциями на стороне сервера.


Ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...