我是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 步:使用 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);
关于java - 如何在没有脚本的情况下从 jsp 调用 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734873/