JSP自定义标签的例子(KAPOK中的代码)
来源:互联网 发布:淘宝助理描述源码 编辑:程序博客网 时间:2024/04/30 14:52
一。OperationJavaScriptTag
package com.kapok.web.tag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
/**
* <p>Title: 红棉俱乐部 信息化网络平台</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class OperationJavaScriptTag extends TagSupport {
public String checkboxIdName;
public String checkboxRequestIdName;
public String allIdNames;
public String allRequestIdNames;
public String formName;
public String doEditURL;
public String doQueryURL; //
public OperationJavaScriptTag() {
super();
}
public int doStartTag() throws JspException {
return (SKIP_BODY);
}
public int doEndTag() throws JspException {
String[] idNames;
String[] requestIdNames;
if(allIdNames==null){
idNames=new String[1];
idNames[0]=checkboxIdName;
}else{
idNames=allIdNames.split(",");
}
if(allRequestIdNames==null){
requestIdNames=new String[1];
requestIdNames[0]=checkboxRequestIdName;
}else{
requestIdNames=allRequestIdNames.split(",");
}
JspWriter writer = pageContext.getOut();
try {
writer.println(" <script language=/"JavaScript/"> ");
writer.println(" form=document['"+formName+"']; ");
writer.println(" function selectAll(){ ");
writer.println(" var e; ");
writer.println(" if(form['"+checkboxIdName+"']==undefined){ ");
writer.println(" return ;");
writer.println(" } ");
writer.println(" if(form['"+checkboxIdName+"'].length==undefined){ ");
for(int i=0;i<idNames.length;i++){
writer.println(" e=form['"+idNames[i]+"']; ");
if(idNames[i].equals(checkboxIdName)){
writer.println(" e.checked = form.selectall.checked; ");
}else{
writer.println(" e.disabled=!form.selectall.checked; ");
}
}
writer.println(" }else{ ");
writer.println(" for (var i=0;i<form['"+checkboxIdName+"'].length;i++){ ");
for(int i=0;i<idNames.length;i++){
writer.println(" e=form['"+idNames[i]+"'](i); ");
if(idNames[i].equals(checkboxIdName)){
writer.println(" e.checked = form.selectall.checked; ");
}else{
writer.println(" e.disabled=!form.selectall.checked; ");
}
}
writer.println(" } ");
writer.println(" } ");
writer.println(" } ");
writer.println(" function countChecked(){ ");
writer.println(" num=0; ");
writer.println(" if(form['"+checkboxIdName+"']==undefined){ ");
writer.println(" return 0;");
writer.println(" } ");
writer.println(" if(form['"+checkboxIdName+"'].length==undefined){ ");
writer.println(" if(form['"+checkboxIdName+"'].checked==true){ ");
writer.println(" return 1;");
writer.println(" }else{ ");
writer.println(" return 0;");
writer.println(" } ");
writer.println(" } ");
writer.println(" for (var i=0;i<form['"+checkboxIdName+"'].length;i++){ ");
writer.println(" var e = form['"+checkboxIdName+"'](i); ");
writer.println(" if(e.checked == true){ ");
writer.println(" num++;");
writer.println(" } ");
writer.println(" } ");
writer.println(" return num; ");
writer.println(" } ");
writer.println(" function doRemove(){ ");
writer.println(" if(countChecked()==0){ ");
writer.println(" alert(/"请选中要删除的信息!/"); ");
writer.println(" return false; ");
writer.println(" } ");
writer.println(" if(confirm(/"你将永久删除所选信息。//n你确定要删除吗?/")){ ");
writer.println(" form.submit(); ");
writer.println(" return true; ");
writer.println(" } ");
writer.println(" } ");
writer.println(" function doEdit(){ ");
writer.println(" num=countChecked(); ");
writer.println(" if(num<1){");
writer.println(" alert(/"请选中要修改的信息!/");");
writer.println(" return false;");
writer.println(" }");
writer.println(" if(num>1){");
writer.println(" alert(/"一次只能修改一条记录!/");");
writer.println(" return false;");
writer.println(" }");
writer.println(" if(form['"+checkboxIdName+"'].length==undefined){ ");
writer.println(" str='"+doEditURL+"?'");
for(int i=0;i<idNames.length;i++){
if(i==0){
writer.println(" str+='" + requestIdNames[i] + "='+form['" +
idNames[i] + "'].value");
}else{
writer.println(" str+='&" + requestIdNames[i] + "='+form['" +
idNames[i] + "'].value");
}
}
writer.println(" }else{");
writer.println(" for (var i=0;i<form['"+checkboxIdName+"'].length;i++){");
writer.println(" var e = form['"+checkboxIdName+"'](i);");
writer.println(" if(e.checked == true){");
writer.println(" str='"+doEditURL+"?'");
for(int i=0;i<idNames.length;i++){
if(i==0){
writer.println(" str+='" + requestIdNames[i] + "='+form['" +
idNames[i] + "'](i).value");
}else{
writer.println(" str+='&" + requestIdNames[i] + "='+form['" +
idNames[i] + "'](i).value");
}
}
writer.println(" } ");
writer.println(" } ");
writer.println(" } ");
writer.println(" window.location.href=str; ");
writer.println(" } ");
writer.println(" function doQuery(){ ");
writer.println(" str='"+doQueryURL+"'");
writer.println(" form.action=str; ");
writer.println(" form.submit(); ");
writer.println(" } ");
writer.println(" function selectOne(e){ ");
writer.println(" form.selectall.checked=false; ");
writer.println(" if(form['"+checkboxIdName+"'].length==undefined){ ");
for(int i=0;i<idNames.length;i++){
if(!idNames[i].equals(checkboxIdName)){
writer.println(" form['" + idNames[i] +"'].disabled=!e.checked;");
}
}
writer.println(" }else{");
writer.println(" for (var i=0;i<form['"+checkboxIdName+"'].length;i++){");
writer.println(" var a = form['"+checkboxIdName+"'](i);");
writer.println(" if (a == e){");
for(int i=0;i<idNames.length;i++){
if(!idNames[i].equals(checkboxIdName)){
writer.println(" form['" + idNames[i] +
"'](i).disabled=!e.checked;");
}
}
writer.println(" } ");
writer.println(" } ");
writer.println(" } ");
writer.println(" } ");
writer.println(" </script> ");
}
catch (IOException ex) {
}
return (SKIP_BODY);
}
public String getCheckboxIdName() {
return checkboxIdName;
}
public String getDoEditURL() {
return doEditURL;
}
public String getDoQueryURL() {
return doQueryURL;
}
public String getFormName() {
return formName;
}
public String getAllIdNames() {
return allIdNames;
}
public String getAllRequestIdNames() {
return allRequestIdNames;
}
public String getCheckboxRequestIdName() {
return checkboxRequestIdName;
}
public void setCheckboxIdName(String checkboxIdName) {
this.checkboxIdName = checkboxIdName;
}
public void setDoEditURL(String doEditURL) {
this.doEditURL = doEditURL;
}
public void setDoQueryURL(String doQueryURL) {
this.doQueryURL = doQueryURL;
}
public void setFormName(String formName) {
this.formName = formName;
}
public void setAllIdNames(String allIdNames) {
this.allIdNames = allIdNames;
}
public void setAllRequestIdNames(String allRequestIdNames) {
this.allRequestIdNames = allRequestIdNames;
}
public void setCheckboxRequestIdName(String checkboxRequestIdName) {
this.checkboxRequestIdName = checkboxRequestIdName;
}
}
二。kapok.tld
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>Application Tag Library</shortname>
<uri>http://192.168.0.8:8083/bbscs6/</uri>
<info>
This tag library contains functionality specific to the Struts
Example Application.
</info>
<tag>
<name>QueryConditionTag</name>
<tagclass>com.kapok.web.tag.QueryConditionTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
queryConditionTag
</info>
<attribute>
<name>type</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>QueryConditionDisplayTag</name>
<tagclass>com.kapok.web.tag.QueryConditionDisplayTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
queryConditionDisplayTag
</info>
<attribute>
<name>type</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>rows</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>cols</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>QueryOrderTag</name>
<tagclass>com.kapok.web.tag.QueryOrderTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
QueryOrderTag
</info>
<attribute>
<name>orderFieldNo</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>QueryAffirmTag</name>
<tagclass>com.kapok.web.tag.QueryAffirmTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
QueryAffirmTag
</info>
</tag>
<tag>
<name>QueryObjectTag</name>
<tagclass>com.kapok.web.tag.QueryObjectTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
QueryObjectTag
</info>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>QueryPageInfoTag</name>
<tagclass>com.kapok.web.tag.QueryPageInfoTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
QueryPageInfoTag
</info>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>QueryPaginationTag</name>
<tagclass>com.kapok.web.tag.QueryPaginationTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
QueryPaginationTag
</info>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>formName</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>queryURL</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>OperationJavaScriptTag</name>
<tagclass>com.kapok.web.tag.OperationJavaScriptTag</tagclass>
<bodycontent>empty</bodycontent>
<info>
OperationJavaScriptTag
</info>
<attribute>
<name>checkboxIdName</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>checkboxRequestIdName</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>allIdNames</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>allRequestIdNames</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>formName</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>doEditURL</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>doQueryURL</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
- JSP自定义标签的例子(KAPOK中的代码)
- jsp自定义标签的例子
- jsp的自定义标签例子
- JSP自定义标签例子
- jsp自定义标签例子
- JSP自定义标签的简单例子
- jsp自定义标签的小例子
- jsp自定义标签入门例子
- Jsp中的自定义标签
- JSP中的自定义标签
- JSP中的自定义标签
- jsp中的自定义标签的用法
- jsp中的自定义标签的使用
- [jsp]使用HttpServlet的例子中的代码
- JSP中的自定义标签(摘录)
- JSP自定义标签-第一个简单的例子
- JSP页面中的自定义标签
- JSP页面中的自定义标签
- 转贴MYSQL出错代码列表
- 冬日
- JSP中的自定义标签(摘录)
- SWITCH 和ROUTE的故事(来自Csico论坛)
- ASP.NET Web Matrix——很好的一个.Net的开发工具
- JSP自定义标签的例子(KAPOK中的代码)
- 爱
- Resin整合IIS之最可行方法
- Agile User Interface Development
- I MISS YOU
- 一生里和你爱的人做完这50件事
- 美丽的错误
- 看到这么多的linux站点 有点激动赶紧先记录下不要错过了
- 控制台打印杨辉三角