2.我在struts页面中写了一个javascript检查的function,但是在用trim(filename)时,总是提示“缺少对象”错误!代码如下:
function check(form){
var filename=form.foldername.value;
if(trim(filename)==""){
alert("请输入名称!!");
form.foldername.focus();
}
}
17 个解决方案
#1
<form-beans>
<form-bean name="submitForm1" type="struts.SubmitForm" />
</form-beans>
<action-mappings>
...
</action-mappings>
...
<form-beans>
<form-bean name="submitForm2" type="struts.SubmitForm" />
</form-beans>
<action-mappings>
...
</action-mappings>
...
试试看。我不确定。
#2
不能这么用啊
#3
第一个我也不知道,但至少楼上的方法不可行,这样的struts-config.xml配置不符合dtd的格式验证
第二个,是因为js没有trim方法,这个得自己写
第二个,是因为js没有trim方法,这个得自己写
#4
没有trim吗,我怎么记得以前用过的。
晕!!!
晕!!!
#5
第一个每个action分别作一个input.没办法。或者你查查SAIF,他提高了对action的拦截能力。
第二个js当然没有trim.
第二个js当然没有trim.
#6
没有trim方法的,你要用这个方法可以把代码写到Form中再调用不就得了。
action可以做几个input吗?没有试过
action可以做几个input吗?没有试过
#7
action可以做几个input
#8
第一,你可以把错误判断全放在Action中进行,通过Action转到不同的页面,只不过这时把页面的<html:errors/>要放在<logic:messagesPresent></logic:messagesPresent>中即可。
第二,javascript中好像没有trim.
第二,javascript中好像没有trim.
#9
从Struts API源程序中可以看出,ActionForm的validate是由ActionServlet调用处理的,并且在调用Action之前调用,所以解决办法有几种:
1、自己扩展ActionServlet,在ActionServlet中处理;
2、在ActionForm的validate验证数据中如果出错,直接保存出错信息,直接进行跳转,例如pageContext.forward(inputpage);
3、不就是验证数据吗,没有谁规定一定要在ActionForm的validate处理,所以不用ActionForm的validate,而是把validate处理放到Action中,那样你爱怎样处理就怎样处理。
1、自己扩展ActionServlet,在ActionServlet中处理;
2、在ActionForm的validate验证数据中如果出错,直接保存出错信息,直接进行跳转,例如pageContext.forward(inputpage);
3、不就是验证数据吗,没有谁规定一定要在ActionForm的validate处理,所以不用ActionForm的validate,而是把validate处理放到Action中,那样你爱怎样处理就怎样处理。
#10
form上面写:<html:errors/>
struts-config里面要配置action mapping 的input属性
ActionForm里面:
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// Perform validator framework validations
ActionErrors errors = super.validate(mapping, request);
// Only need crossfield validations here
if (!password.equals(password2)) {
errors.add("password2",
new ActionMessage("error.password.match"));
}
return errors;
}
struts-config里面要配置action mapping 的input属性
ActionForm里面:
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// Perform validator framework validations
ActionErrors errors = super.validate(mapping, request);
// Only need crossfield validations here
if (!password.equals(password2)) {
errors.add("password2",
new ActionMessage("error.password.match"));
}
return errors;
}
#11
up
#12
struts-config里面要配置action mapping 的input属性
这个input怎样配置呢,是同时写多个input吗?
这个input怎样配置呢,是同时写多个input吗?
#13
kui(kui) 你说的在validate验证数据中如果出错,直接保存出错信息,直接进行跳转,例如pageContext.forward(inputpage);请问在 ActionForm中的validate 方法中可以写savaError这个方法吗?如果可以能给出一个实例代码吗?继续等待。
#14
请问在 ActionForm中的validate 方法中可以写savaError这个方法吗?
当然不行,savaError是Action.class的方法,不是在ActionForm.class中的
当然不行,savaError是Action.class的方法,不是在ActionForm.class中的
#15
多看API源程序,对程序设计会有帮助的,看人家Craig R. McClanahan是这样写的savaError方法:
protected void saveErrors(HttpServletRequest request,
ActionErrors errors) {
// Remove any error messages attribute if none are required
if ((errors == null) || errors.isEmpty()) {
request.removeAttribute(ERROR_KEY);
return;
}
// Save the error messages we need
request.setAttribute(ERROR_KEY, errors);
}
你非得用saveErrors吗?直接用setAttribute不行?
protected void saveErrors(HttpServletRequest request,
ActionErrors errors) {
// Remove any error messages attribute if none are required
if ((errors == null) || errors.isEmpty()) {
request.removeAttribute(ERROR_KEY);
return;
}
// Save the error messages we need
request.setAttribute(ERROR_KEY, errors);
}
你非得用saveErrors吗?直接用setAttribute不行?
#16
第二个问题:
把trim(filename)修改为filename.trim()
就OK了
把trim(filename)修改为filename.trim()
就OK了
#17
顶一下吧
#1
<form-beans>
<form-bean name="submitForm1" type="struts.SubmitForm" />
</form-beans>
<action-mappings>
...
</action-mappings>
...
<form-beans>
<form-bean name="submitForm2" type="struts.SubmitForm" />
</form-beans>
<action-mappings>
...
</action-mappings>
...
试试看。我不确定。
#2
不能这么用啊
#3
第一个我也不知道,但至少楼上的方法不可行,这样的struts-config.xml配置不符合dtd的格式验证
第二个,是因为js没有trim方法,这个得自己写
第二个,是因为js没有trim方法,这个得自己写
#4
没有trim吗,我怎么记得以前用过的。
晕!!!
晕!!!
#5
第一个每个action分别作一个input.没办法。或者你查查SAIF,他提高了对action的拦截能力。
第二个js当然没有trim.
第二个js当然没有trim.
#6
没有trim方法的,你要用这个方法可以把代码写到Form中再调用不就得了。
action可以做几个input吗?没有试过
action可以做几个input吗?没有试过
#7
action可以做几个input
#8
第一,你可以把错误判断全放在Action中进行,通过Action转到不同的页面,只不过这时把页面的<html:errors/>要放在<logic:messagesPresent></logic:messagesPresent>中即可。
第二,javascript中好像没有trim.
第二,javascript中好像没有trim.
#9
从Struts API源程序中可以看出,ActionForm的validate是由ActionServlet调用处理的,并且在调用Action之前调用,所以解决办法有几种:
1、自己扩展ActionServlet,在ActionServlet中处理;
2、在ActionForm的validate验证数据中如果出错,直接保存出错信息,直接进行跳转,例如pageContext.forward(inputpage);
3、不就是验证数据吗,没有谁规定一定要在ActionForm的validate处理,所以不用ActionForm的validate,而是把validate处理放到Action中,那样你爱怎样处理就怎样处理。
1、自己扩展ActionServlet,在ActionServlet中处理;
2、在ActionForm的validate验证数据中如果出错,直接保存出错信息,直接进行跳转,例如pageContext.forward(inputpage);
3、不就是验证数据吗,没有谁规定一定要在ActionForm的validate处理,所以不用ActionForm的validate,而是把validate处理放到Action中,那样你爱怎样处理就怎样处理。
#10
form上面写:<html:errors/>
struts-config里面要配置action mapping 的input属性
ActionForm里面:
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// Perform validator framework validations
ActionErrors errors = super.validate(mapping, request);
// Only need crossfield validations here
if (!password.equals(password2)) {
errors.add("password2",
new ActionMessage("error.password.match"));
}
return errors;
}
struts-config里面要配置action mapping 的input属性
ActionForm里面:
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// Perform validator framework validations
ActionErrors errors = super.validate(mapping, request);
// Only need crossfield validations here
if (!password.equals(password2)) {
errors.add("password2",
new ActionMessage("error.password.match"));
}
return errors;
}
#11
up
#12
struts-config里面要配置action mapping 的input属性
这个input怎样配置呢,是同时写多个input吗?
这个input怎样配置呢,是同时写多个input吗?
#13
kui(kui) 你说的在validate验证数据中如果出错,直接保存出错信息,直接进行跳转,例如pageContext.forward(inputpage);请问在 ActionForm中的validate 方法中可以写savaError这个方法吗?如果可以能给出一个实例代码吗?继续等待。
#14
请问在 ActionForm中的validate 方法中可以写savaError这个方法吗?
当然不行,savaError是Action.class的方法,不是在ActionForm.class中的
当然不行,savaError是Action.class的方法,不是在ActionForm.class中的
#15
多看API源程序,对程序设计会有帮助的,看人家Craig R. McClanahan是这样写的savaError方法:
protected void saveErrors(HttpServletRequest request,
ActionErrors errors) {
// Remove any error messages attribute if none are required
if ((errors == null) || errors.isEmpty()) {
request.removeAttribute(ERROR_KEY);
return;
}
// Save the error messages we need
request.setAttribute(ERROR_KEY, errors);
}
你非得用saveErrors吗?直接用setAttribute不行?
protected void saveErrors(HttpServletRequest request,
ActionErrors errors) {
// Remove any error messages attribute if none are required
if ((errors == null) || errors.isEmpty()) {
request.removeAttribute(ERROR_KEY);
return;
}
// Save the error messages we need
request.setAttribute(ERROR_KEY, errors);
}
你非得用saveErrors吗?直接用setAttribute不行?
#16
第二个问题:
把trim(filename)修改为filename.trim()
就OK了
把trim(filename)修改为filename.trim()
就OK了
#17
顶一下吧