public class MessageTag extends SimpleTagSupport {
private String key;
public class MessageTag extends SimpleTagSupport {
private String key;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
@Override
public void doTag() throws JspException, IOException {
PageContext pageContext = (PageContext) this.getJspContext();
//根据pageContext对象可以得到所有的内置对象
ServletContext application = pageContext.getServletContext();
Map<String, String> res = (Map<String, String>)
application
.getAttribute(Constants.MESSAGE_KEY);
if (res == null) {
throw new JspException("resource
not found");
}
String value = res.get(key);
if (value == null) {
throw new JspException("key
not found");
}
JspWriter writer = pageContext.getOut();
writer.write(value);
}
public class MessageResource {
private String parameter;
public String getParameter() {
return parameter;
}
public void setParameter(String parameter) {
this.parameter = parameter;
}
<!-- MessageResource
-->
<pattern value="message-resource">
<object-create-rule
classname="org.mystruts.config.MessageResource"
/>
<set-next-rule methodname="setResource" />
<set-properties-rule />
private void initResource() {
String parameter = resource.getParameter();
ResourceBundle bundle = ResourceBundle.getBundle(parameter);
Enumeration<String> keys = bundle.getKeys();
Map<String,String> res = new HashMap<String,String>();
while(keys.hasMoreElements()){
String key = keys.nextElement();
String value = bundle.getString(key);
res.put(key, value);
}
ServletContext context =
this.getServletContext();
context.setAttribute(Constants.MESSAGE_KEY, res);
<?xml version="1.0"
encoding="UTF-8" ?>
<taglib 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
web-jsptaglibrary_2_0.xsd"
version="2.0">
<display-name>MyStruts TagLib</display-name>
<tlib-version>1.0</tlib-version>
<short-name>bean</short-name>
<tag>
<name>message</name>
<tag-class>org.mystruts.tag.MessageTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>key</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<body-content>empty</body-content>
上一篇:自己动手写struts2-2
下一篇:session&cookie
这篇文章 可作为北京尚学堂 hibernate的学习笔记再学习hibernate之前 得有一点反射的基础知识
&n
写插件刚开始以为很简单,后来发现不过就是一些面向对象和面向过程的堆积。复杂的写的思路。 以下是我学习写查看看过3个不错的链接。 http://api.jquery.com/jQuery.extend/ &
在上一节,我们自己写的web框架,只能运行显示一个HelloWorld。现在我们对其进行一次加工
本文可作为<<自己动手写struts–构建基于MVC的Web开发框架>>一书的读书笔记。
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M