struts 自定义标签的问题,急! 这样多麻烦呀,我不是很喜欢很用太多的struts标记。一般我会将验证代码写在bean里面,然后,可以在action里调用bean里的方法进行处理,返回ActionMessage。这样多简单 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用<html:text>做成文本框,然后在struts-config.xml文件里面配置好提交到的action和需要的form bean,然后把验证做到action的validate里面啊。如果不够还可以再在action里面验证。偶是酱紫做的。但是不知道如果用到JS应该怎么办~~~ 不好意思,刚才打错了,不是action的validate是form bean里面的validate。寒~~~~一个 试试这代码// Java Document// Java Documentimport java.io.IOException;import javax.servlet.http.HttpSession;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.TagSupport;import javax.servlet.jsp.JspTagException;import org.apache.struts.taglib.TagUtils;import javax.servlet.http.HttpServletRequest;import com.hy.common.Common;public final class IPTag extends TagSupport { private String name; private String bean; private String scope; public IPTag(){ name = "IP"; bean = "org.apache.struts.taglib.html.BEAN"; scope = null; } public int doEndTag() throws JspException { Common.print("IPTag.doEndTag() !!!!!! "); JspWriter out = pageContext.getOut(); String value = null; if(scope != null){ if(scope.equals("page")){ HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); value = request.getParameter(name); Common.print("value in requst = " + value); }else if(scope.equals("Context")){ if(bean == null){ bean = "org.apache.struts.taglib.html.BEAN"; } Object objValue = TagUtils.getInstance().lookup(pageContext, bean, name, null); if(objValue != null){ value = objValue.toString(); } Common.print("value in pageContext = " + value + " bean : " + bean); }else if(scope.equals("all")){ HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); value = request.getParameter(name); if(value == null){ Object objValue = TagUtils.getInstance().lookup(pageContext, bean, name, null); if(objValue != null){ value = objValue.toString(); } } Common.print("value in all = " + value); } } String subVal[] = new String[4]; subVal[0] = ""; subVal[1] = ""; subVal[2] = ""; subVal[3] = ""; if(value != null){ Common.print("value = [" + value+"]"); int index1 = value.indexOf("."); int index2 = 0; if(index1 > 0){ index2 = value.indexOf(".",index1+1); } int index3 = value.lastIndexOf("."); int index4 = value.length(); Common.print(index1 + " " + index2 + " " + index3+ " " + index4); if(index1> 0 && index2 > index1 && index3 > index2 && index4 > index3){ subVal[0] = value.substring(0, index1); subVal[1] = value.substring(index1 + 1, index2); subVal[2] = value.substring(index2 + 1, index3); subVal[3] = value.substring(index3 + 1, index4); } for(int i = 0 ; i < 4 ; i++){ if(subVal[i] == null){ subVal[i] = ""; }else if(subVal[i].length() > 3){ subVal[i] = subVal[i].substring(0,3); } } } try{ out.println("<Script Language = 'JavaScript' SRC = '/hysecweb/JavaScript/input.js'></Script>"); out.println("<TABLE CLASS = 'IPtab' border= '1'><TR CLASS = 'IPtr'><TD CLASS = 'IPtd'>"); out.println("<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "1' SIZE = '3' value='"+subVal[0]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) >." + "<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "2' SIZE = '3' value='"+subVal[1]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) >." + "<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "3' SIZE = '3' value='"+subVal[2]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) >." + "<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "4' SIZE = '3' value='"+subVal[3]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) > "); out.println("</TD></TR></TABLE>"); if(value == null){ out.println("<input type='hidden' name='" + name + "' value = ''/>"); }else{ out.println("<input type='hidden' name='" + name + "' value = '"+ value +"'/>"); } }catch(Exception e){ throw new JspTagException("IOException:" + e.toString()); } return super.doEndTag(); } public int doStartTag() throws JspException { return (SKIP_BODY); } public String getName() { return (this.name); } public void setName(String name) { this.name = name; } public String getBean(){ return this.bean; } public void setBean(String bean){ this.bean = bean; } public String getScope(){ return this.scope; } public void setScope(String scope){ this.scope = scope; } public void release(){ super.release(); this.name = "IP"; this.bean = "org.apache.struts.taglib.html.BEAN"; this.scope = null; }} 怎样写才能防止SQL注入? 求助:上传问题! 求struts1+hibernate分页 这两种是同一种标签吗 tomcat5.5 移植到 tomcat 4.1 出现问题!请问是什么原因? ModelAndView addObject存入值后前台页面el表达式取不到 HQL 中的左外联接 请问,为什么session会自动为空?我也没有关闭IE,用的容器是Tomcat4.0? 寻求struts资料 为什么就没有深圳的程序员聚会? j2ee1.4的配置问题 socket编程的问题--java是不是做不到?
// Java Documentimport java.io.IOException;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspTagException;
import org.apache.struts.taglib.TagUtils;
import javax.servlet.http.HttpServletRequest;
import com.hy.common.Common;public final class IPTag extends TagSupport {
private String name;
private String bean;
private String scope;
public IPTag(){
name = "IP";
bean = "org.apache.struts.taglib.html.BEAN";
scope = null;
}
public int doEndTag() throws JspException {
Common.print("IPTag.doEndTag() !!!!!! ");
JspWriter out = pageContext.getOut();
String value = null;
if(scope != null){
if(scope.equals("page")){
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
value = request.getParameter(name);
Common.print("value in requst = " + value);
}else if(scope.equals("Context")){
if(bean == null){
bean = "org.apache.struts.taglib.html.BEAN";
}
Object objValue = TagUtils.getInstance().lookup(pageContext, bean, name, null);
if(objValue != null){
value = objValue.toString();
}
Common.print("value in pageContext = " + value + " bean : " + bean);
}else if(scope.equals("all")){
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
value = request.getParameter(name);
if(value == null){
Object objValue = TagUtils.getInstance().lookup(pageContext, bean, name, null);
if(objValue != null){
value = objValue.toString();
}
}
Common.print("value in all = " + value);
}
}
String subVal[] = new String[4];
subVal[0] = "";
subVal[1] = "";
subVal[2] = "";
subVal[3] = "";
if(value != null){
Common.print("value = [" + value+"]");
int index1 = value.indexOf(".");
int index2 = 0;
if(index1 > 0){
index2 = value.indexOf(".",index1+1);
}
int index3 = value.lastIndexOf(".");
int index4 = value.length();
Common.print(index1 + " " + index2 + " " + index3+ " " + index4);
if(index1> 0 && index2 > index1 && index3 > index2 && index4 > index3){
subVal[0] = value.substring(0, index1);
subVal[1] = value.substring(index1 + 1, index2);
subVal[2] = value.substring(index2 + 1, index3);
subVal[3] = value.substring(index3 + 1, index4);
}
for(int i = 0 ; i < 4 ; i++){
if(subVal[i] == null){
subVal[i] = "";
}else if(subVal[i].length() > 3){
subVal[i] = subVal[i].substring(0,3);
}
}
}
try{
out.println("<Script Language = 'JavaScript' SRC = '/hysecweb/JavaScript/input.js'></Script>");
out.println("<TABLE CLASS = 'IPtab' border= '1'><TR CLASS = 'IPtr'><TD CLASS = 'IPtd'>");
out.println("<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "1' SIZE = '3' value='"+subVal[0]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) >." +
"<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "2' SIZE = '3' value='"+subVal[1]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) >." +
"<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "3' SIZE = '3' value='"+subVal[2]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) >." +
"<INPUT TYPE = 'text' CLASS = 'IP' NAME = '" + name + "4' SIZE = '3' value='"+subVal[3]+"' onpropertychange =IPInputCtl(this) onKeyDown = IPInputCtl(this) > ");
out.println("</TD></TR></TABLE>");
if(value == null){
out.println("<input type='hidden' name='" + name + "' value = ''/>");
}else{
out.println("<input type='hidden' name='" + name + "' value = '"+ value +"'/>");
}
}catch(Exception e){
throw new JspTagException("IOException:" + e.toString());
}
return super.doEndTag();
}
public int doStartTag() throws JspException {
return (SKIP_BODY);
}
public String getName() {
return (this.name);
}
public void setName(String name) {
this.name = name;
}
public String getBean(){
return this.bean;
}
public void setBean(String bean){
this.bean = bean;
}
public String getScope(){
return this.scope;
}
public void setScope(String scope){
this.scope = scope;
}
public void release(){
super.release();
this.name = "IP";
this.bean = "org.apache.struts.taglib.html.BEAN";
this.scope = null;
}
}