一个jsp:forward的非常奇怪的问题

千山独行 2003-12-03 07:44:27
<jsp:forward page="serviceEdit.do?action=add&serviceName=<%=serviceName%>&startLine=<%=startLine%>" />
其中serviceEdit.do是一个servlet,我在web.xml里定义了的
在当前页面上,serviceName="",startLine="1",二者都是String型

很奇怪,在serviceEdit里不知道为什么只有startLine的参数值传递不了,无论怎么改变jsp:forward里serviceEdit.do?后面传递参数的顺序,action,serviceName的值都可以得到,但是startLine=null

我改成下面这样也不行:
<jsp:forward page="serviceEdit.do?action=add&serviceName=<%=serviceName%>&startLine=<%=startLine%>" />

...全文
20 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
starg 2004-02-16
  • 打赏
  • 举报
回复
这样试一下:
<%String url=="serviceEdit.do?action=add&serviceName="+serviceName+"&startLine="+startLine;%>
<jsp:forward page="<%=url%>">
</jsp:forward>
规范用法应该是:
<jsp:forward>
parameter..
</jsp:forward>
黑马 2004-02-16
  • 打赏
  • 举报
回复
我forward只有一个参数,可是传递之前有值,可是在传递页面就变更了null,不知道怎么回事?
千山独行 2003-12-04
  • 打赏
  • 举报
回复
我用<jsp:forward page="serviceEdit.do?action=add&serviceName=<%=serviceName%>&startLine=<%=startLine%>"></jsp:forward>还是一样的结果
用System.out.println打印了这些值,发现就是startLine的值不对

这好像是jsp的bug啊,至少说明用request传递参数不是万无一失的.其次,有可能某些特定的单词,比如start会出现传递错误,和它内部的封装可能有关系.
千山独行 2003-12-04
  • 打赏
  • 举报
回复
response.sendRedirect()不行,会显示cannot ... after commited那种错误,我试过了.
难道是用<jsp:forward>serviceEdit.do?action=add&serviceName=<%=serviceName%>&startLine=<%=startLine%></jsp:forward>
这样?
ahua20 2003-12-03
  • 打赏
  • 举报
回复
用response.sendRedirect()吧!
babywxg 2003-12-03
  • 打赏
  • 举报
回复
这样写很不规范
应该是
<jsp:forward>
parameter..
</jsp:forward>
用 paramater 来传递参数,这样万无一失,试试把,祝你好运!

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧