我是jsp的新手,我已经创建了jsp页面来搜索某些内容。我也写了servlet。但是我不知道如何在两者之间进行互动。
我的web.xml看起来像
<servlet> <servlet-name>HotelSearch</servlet-name> <servlet-class>it.testproject.HotelSearch</servlet-class> </servlet> <servlet-mapping> <servlet-name>HotelSearch</servlet-name> <url-pattern>/HotelSearch</url-pattern> </servlet-mapping>
我的servlet名称是HotelSearch.java,搜索页面是Default.jsp,我想在servlet调用后重定向到SearchResults.jsp。
谁能向我解释该怎么做。
步骤1:加载default.jsp,我想您有一种表单可以提交搜索查询,例如
<form method="post" action="HotelSearch"> //action is your url pattern and method is your choice get or post // your text box </form>
步骤2:现在,在servlet中执行搜索业务逻辑,然后将结果数据放入请求中
req.setAttribute("key",value); //value is object dispatch your request with data to `SearchResults.jsp` req.getRequestDispatcher("SearchResults.jsp").forward(req,resp);
步骤3:SearchResults.jsp使用req.getAttribute(“ key”)显示数据
SearchResults.jsp
小费
最好的方法是在web.xml中配置jsp文件
<servlet> <servlet-name>myjsp</servlet-name> <jsp-file>jsp/SearchResults.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>myjsp</servlet-name> <url-pattern>/jsp_url</url-pattern> </servlet-mapping>
现在您可以使用
req.getRequestDispatcher("jsp_url").forward(req,resp);