在没有特定参数Java JSP的情况下重定向页面

时间:2015-02-07 13:17:41

标签: java jsp

正如标题所说,如何在没有将特定参数附加到其URL的情况下重定向页面?例如,我有一个页面“file.jsp”,它应该从其调度程序中获取一个参数,比如说“fileid”。因此URL的格式为“file.jsp?fileid = 123”。如果有人在没有fileid的情况下请求页面(或键入它)“file.jsp”,那么页面应该被重定向到主页面。我可以在这里使用过滤器吗

2 个答案:

答案 0 :(得分:0)

如果您在Servlet中请求fileid并且如果fileid == null则重定向用户该怎么办?

类似的东西:

Object fileid = request.getParameter("fileid");

if(fileid == null)
{
  ReuqestDispatcher dispatcher = request.getRequestDispatcher("whatever.jsp");
  dispatcher.forward(request, response);
}

答案 1 :(得分:0)

是的,你可以:-)。但是,确保使用其参数调用JSP的更常见方法是将其隐藏在WEB-INF文件夹下,并且只从转发转发

这样,如果用户在其浏览器中直接键入file.jsp,则会发现找不到页面错误 - 您可以重定向到特定页面。

另一个解决方案,如果你有一个只有JSP的webapp(但你不应该用于一个严肃的项目...),那就是在JSP的初始阶段进行测试,转发或重定向到另一个页面。类似的东西:

<c:if test="${empty param.fileid}" >
    <jsp:forward page = "/"/>
</c:if>

有关如何从JSP进行重定向的示例,请查看this other question