在Struts框架下定制自己的标签
来源:互联网 发布:什么是020商业模式知乎 编辑:程序博客网 时间:2024/05/02 05:55
Struts的html标签是个很好用的东东,但有时候不能完全满足要求,我们也许需要定制自己的标签。一点困难在于我们如何为其赋值呢?
用Struts提供的一个工具类, org.apache.struts.util.RequestUtils,它的lookup方法将在pageContext范围内搜索bean的属性值
RequestUtils.lookup(super.pageContext, Constants.BEAN_KEY,p1,null)
下面这个例子演示了如何把2个inputs 做成一个标签。
//Tag: import javax.servlet.jsp.JspException; import org.apache.struts.taglib.html.Constants; public class TwoInputsTag extends BodyTagSupport { //JSP:
package com.tag;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.struts.util.RequestUtils;
private String p1;
private String p2;
public String getP1() {
return p1 ;
}
public void setP1(String p1) {
this.p1 = p1;
}
public String getP2() {
return p2;
}
public void setP2(String p2) {
this.p2 = p2;
}
public int doStartTag() throws JspException{
JspWriter out = pageContext.getOut();
try{
Object p1Obj = RequestUtils.lookup(super.pageContext, Constants.BEAN_KEY,p1,null) ;
Object p2Obj = RequestUtils.lookup(super.pageContext, Constants.BEAN_KEY,p2,null) ;
String p1Value = p1Obj == null ? "" :(String)p1Obj ;
String p2Value = p2Obj == null ? "" :(String)p2Obj ;
String outs =
"<input type=/"text/" name=/""+p1+"/" size=/"16/" value=/""+p1Value+"/" class=/"inp/">"
+"<input type=/"text/" name=/""+p2+"/" size=/"16/" value=/""+p2Value+"/" class=/"inp/">";
out.print(outs);
}catch(Exception e){
e.printStackTrace();
}
return super.SKIP_BODY;
}
}
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/mytags.tld" prefix="mytags"%>
<HTML>
<HEAD>
<TITLE>Some tags</TITLE>
</HEAD>
<body>
<html:form action="TestTagsAction">
<mytags:fourinputs p1="id1" p2="id2" />
<html:submit property="submit" />
</html:form>
</body>
</HTML>
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.struts.taglib.html.Constants;
import org.apache.struts.util.RequestUtils;
public class TwoInputsTag extends BodyTagSupport {
private String p1;
private String p2;
public String getP1() {
return p1 ;
}
public void setP1(String p1) {
this.p1 = p1;
}
public String getP2() {
return p2;
}
public void setP2(String p2) {
this.p2 = p2;
}
public int doStartTag() throws JspException{
JspWriter out = pageContext.getOut();
try{
Object p1Obj = RequestUtils.lookup(super.pageContext, Constants.BEAN_KEY,p1,null) ;
Object p2Obj = RequestUtils.lookup(super.pageContext, Constants.BEAN_KEY,p2,null) ;
String p1Value = p1Obj == null ? "" :(String)p1Obj ;
String p2Value = p2Obj == null ? "" :(String)p2Obj ;
String outs =
"<input type=/"text/" name=/""+p1+"/" size=/"16/" value=/""+p1Value+"/" class=/"inp/">"
+"<input type=/"text/" name=/""+p2+"/" size=/"16/" value=/""+p2Value+"/" class=/"inp/">";
out.print(outs);
}catch(Exception e){
e.printStackTrace();
}
return super.SKIP_BODY;
}
}
//JSP:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/mytags.tld" prefix="mytags"%>
<HTML>
<HEAD>
<TITLE>Some tags</TITLE>
</HEAD>
<body>
<html:form action="TestTagsAction">
<mytags:fourinputs p1="id1" p2="id2" />
<html:submit property="submit" />
</html:form>
</body>
</HTML>
- 在Struts框架下定制自己的标签
- 定制自己的struts标签
- 定制自己的xDoclet标签
- 定制自己的xDoclet标签
- 定制自己的xDoclet标签
- 定制自己的IOS框架
- 如何定制struts以适应自己的需求
- 在struts框架下实现文件的上传
- 在websphere下运用struts标签
- PHP下定制自己的记数器
- ibus下定制自己的libpinyin
- 在VFP中定制自己的工具栏
- Struts框架 自定义标签的tld文件
- 自己最初设计的框架--struts,spring
- 自己写的类Struts框架
- 在Struts框架下使用时间类型
- 在Struts框架下使用时间类型
- 在 Kuix 框架下绘制自己定义的画布
- java路径问题解决办法
- 网页设计版资料集
- 程序说明
- 计算用来传递筛选条件的当前行上的给定表达式。
- 动态显示服务器时间的时钟
- 在Struts框架下定制自己的标签
- 动态显示服务器时间的时钟
- 数据库怎么连接
- 基于GUI的应用程序
- 16进制数据 -- 转换成中文
- 程序员
- 在网页之中用样式来控制字体的大小和颜色
- 在我选购数码相机之前
- java.util