Начнем с примера:
Эта группа тегов динамически генерирует элемент иксемель.
<jsp:element name="${content.headerName}"
xmlns:jsp="http://java.sun.com/JSP/Page">
<jsp:attribute name="lang">${content.lang}</jsp:attribute>
<jsp:body>${content.body}</jsp:body>
</jsp:element>
Эта группа тегов динамически генерирует элемент иксемель.
Тег jsp:attribute применим не только в теле тега jsp:element, он также применяется в других тегах, которым нужно получить динамическое значение атрибута, например из какого-нибудь тега, а поскольку тег применять в теле атрибута нельзя, то нам тут и пригодится jsp:attribute, потому что тег применим в теле другого тега.
Пример. Вызов в JSP:
Определение тега helloWorld:
Опредление бина:
А вот результат, который мы увидим в браузере:
Пример. Вызов в JSP:
...
<jsp:useBean id="foo" class="jsp2.examples.FooBean">
Bean created! Setting foo.bar...<br>
<jsp:setProperty name="foo" property="bar">
<jsp:attribute name="value">
<my:helloWorld/>
</jsp:attribute>
</jsp:setProperty>
</jsp:useBean>
<br>
Result: ${foo.bar}
...
Определение тега helloWorld:
package jsp2.examples.simpletag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.io.IOException;
/**
* SimpleTag handler that prints "Hello, world!"
*/
public class HelloWorldSimpleTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
getJspContext().getOut().write( "Hello, world!" );
}
}
Опредление бина:
package jsp2.examples;
public class FooBean {
private String bar;
public FooBean() {
bar = "Initial value";
}
public String getBar() {
return this.bar;
}
public void setBar(String bar) {
this.bar = bar;
}
}
А вот результат, который мы увидим в браузере:
Bean created! Setting foo.bar... Result: Hello, world!

Комментариев нет:
Отправить комментарий