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