一个jsp页面(如a.jsp)需要把用户指令(比如标记一个消息为已读)送到另一个页面(如b.jsp)去处理,
如果b.jsp的处理中没有抛出异常的话,就什么都不显示,即打开的页面还是只有a.jsp,不显示处理页面;
如果有异常,就转向异常页面(如c.jsp)。 如果不用ajax和mvc处理,能做到吗?怎么做用servlet,判断然后跳转,有异常跳转到b.jsp...没异常什么都不做...
但是没异常时,当前页面也变成了servlet页面啊
如果b.jsp的处理中没有抛出异常的话,就什么都不显示,即打开的页面还是只有a.jsp,不显示处理页面;
如果有异常,就转向异常页面(如c.jsp)。 如果不用ajax和mvc处理,能做到吗?怎么做用servlet,判断然后跳转,有异常跳转到b.jsp...没异常什么都不做...
但是没异常时,当前页面也变成了servlet页面啊
如何在后台处理呢?
这个指令总要送到某个地方吧(或者是一个jsp页面或者是一个servlet),但效果是一样的啊,
我就是想让这个处理页面不显示出来,怎么做到呢?
<a href="newwindow?alert=yes" target=_top>yes,alert it</a><br>
<a href="newwindow?alert=no" target=_blank>no,never</a>web.xml的配置部分代码:
<servlet>
<servlet-name>newwindow</servlet-name>
<servlet-class>servlet.NewWindow</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>newwindow</servlet-name>
<url-pattern>/newwindow</url-pattern>
</servlet-mapping>NewWindow.java的处理get方式的码:
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String t=req.getParameter("alert");
System.out.println(t);
if("yes".equals(t))
{
resp.sendRedirect("newwinalert.jsp");
}
else{
}
}
newwindowalert.jsp的代码:
^_^ 代码显示啦
我的意思就是在newwindow.htm页面点击no,never的时候,页面显示的还是newwindow.htm的代码,而不是NewWindow.java的空白
这样清楚点了吗? 怎么做呢?
在a.jsp里加一个空的iframe
然后那个提交的form表单里加属性target=iframe的名字方法大概是这样,具体细节实在不记得了,自己查查书吧
或者提交到b.jsp,处理过程中判断异常,如果没有异常,页面再跳回a.jsp
如果用servlet处理的话,处理后可以跟据需要直接跳到你要的结果页面;如果直接用JSP页面处理,处理后跟据结果<jsp:forward page="" />跳到你想要的页面就可以了
但是由于发送请求的这个页面是从数据库读的,而且比较长,
使得每次提交请求后,就会出现原页面被截断,
我已经设置使这个iframe的width和height都是1,并且多的部分都隐藏,还是出现页面截断的问题,
这是怎么搞的?