对于C/S模式下的对话框弹出问题就不说了,这里只讨论B/S模式下的实现.
开发环境是:struts+hiberinate+spring
遇到的问题是在JSP页面新增成功后弹出新增成功的提示对话框.
刚开始觉得在JAVA中很不容易实现,因为以前写C#时习惯了一种写法:Response.Write("<script>alert('say what you want to say');</script>");但在JAVA中我却不知道在action中去怎么写出这样的代码了.为此感觉不好做,但又不得不做,所以就只有想另外一种办法了.问题是解决了,但总感觉有些郁闷,为什么不可以更简单的实现呢?
下面是我实现的过程.JSP页面加了一个<html:hidden property="propertyName" />,然后就是新增操作的action对应的form的后台代码中加了变量propertyName和与此对应的getter和setter属性,这样在action中当新增成功后就通过form中的setter属性对字段赋值.然后通过脚本来取得JSP页面上的隐藏控件(<html:didden/>)的value.这样做判断就可以实现了.
也不知道大家都有什么好的方法,希望贴出来学习一下.
下边是部分代码:
action部分代码:
public ActionForward sumbit(ActionMapping mapping,
....
if (isAdd) {
bookVhlForm.setBookNo(bookNo);
bookVhlForm.reset(mapping,request);
this.saveErrors(request, errors);
return mapping.findForward("bookVehicle");
}
...
return mapping.findForward("bookVehicle");
}
actionForm部分代码:
package com.portal.web.vehicleManage.form
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class BookVhlForm extends ActionForm {
...
private String bookNo;
....
public String getBookNo() {
return bookNo;
}
public void setBookNo(String bookNo) {
this.bookNo = bookNo;
}
JSP脚本:
function bookNo(){
var bookNo=document.all("bookNo").value;
if(bookNo!=""){
alert("您的预约登记已申请成功,预约登记号为:"+ bookNo);
} else{
alert("do the operate which you want!");
}
}
posted on 2006-07-28 16:27
Lazy dog 阅读(15135)
评论(9) 编辑 收藏 所属分类:
Some Other