Java JSTL中的接受对象
我在脚本let中有以下代码。如何使用JSTL重写它Java JSTL中的接受对象,java,jsp,jstl,Java,Jsp,Jstl,我在脚本let中有以下代码。如何使用JSTL重写它 <% int Queryid = new Integer(request.getParameter(" QueryNo")); Queries query = QueriesUtil.findByQid(Queryid); %> 您在这里的请求应该首先命中一个Servlet,该Servlet调用querysutil(通常是业务/DAO类)以像以前一样检索查询对象 Queries query = QueriesUt
<%
int Queryid = new Integer(request.getParameter(" QueryNo"));
Queries query = QueriesUtil.findByQid(Queryid);
%>
您在这里的请求应该首先命中一个Servlet,该Servlet调用querysutil
(通常是业务/DAO类)以像以前一样检索查询
对象
Queries query = QueriesUtil.findByQid(Qid);
然后Servlet需要使其在正确的范围内可用(例如,请求eaxmple)
在使用RequestDispatcher
将其转发到目标JSP之前
RequestDispatcher view = request.getRequestDispatcher("target.jsp");
view.forward(request, response);
现在,假设Query
有一个value
属性,它可以在target.jsp
中按如下方式检索
<c:out value="${query.value}" />
您在这里的请求应该首先命中一个Servlet,该Servlet调用querysutil
(通常是业务/DAO类)以像以前一样检索查询
对象
Queries query = QueriesUtil.findByQid(Qid);
然后Servlet需要使其在正确的范围内可用(例如,请求eaxmple)
在使用RequestDispatcher
将其转发到目标JSP之前
RequestDispatcher view = request.getRequestDispatcher("target.jsp");
view.forward(request, response);
现在,假设Query
有一个value
属性,它可以在target.jsp
中按如下方式检索
<c:out value="${query.value}" />
JSTL也不是正确的解决方案。您没有对HTML输出进行任何流控制。现在是学习servlet对JSP页面的请求进行预处理的时候了。另见和+1至BalusC。旁注:对字符串调用toString()是无用的。您应该遵守Java命名约定。您的意思是将my Queries对象设置为servlet类中请求对象的属性,并使用EL从jsp页面接受吗?很抱歉使用toString()。。。我更新了它。JSTL也不是正确的解决方案。您没有对HTML输出进行任何流控制。现在是学习servlet对JSP页面的请求进行预处理的时候了。另见和+1至BalusC。旁注:对字符串调用toString()是无用的。您应该遵守Java命名约定。您的意思是将my Queries对象设置为servlet类中请求对象的属性,并使用EL从jsp页面接受吗?很抱歉使用toString()。。。我更新了。谢谢你的回答。但是,如果我从一个jsp页面转到另一个jsp页面,那么在这两个页面之间没有servlet执行呢。考虑一下,用一个参数QuyRNO进行超链接。对于上面相同的代码,我应该在viewQueries.jsp页面中执行什么操作?我需要从URL获取参数(QueryNo)值,然后需要创建与该QueryNo对应的查询对象。只需将href=“viewquerys.jsp?QueryNo=4”
替换为href=“viewquerys?QueryNo=4”
,其中viewquerys
定义为@WebServlet(“/viewquerys”)
并将该Java代码放在servlet的doGet()方法中。这就是全部。你有没有花点力气点击并阅读我评论中的链接?“所有这些都在那里解释得很清楚。@Aneesh,所有这些都属于良好实践,并促进了MVC所倡导的干净分离。”。为什么要让页面的一半使用JSTL,而另一半仍然会违反标准?你可能有其他的理由这样做,但你或任何要求你这样做的人都忽略了BalusC.Thanx向BalusC和Ravi Thapliyal概述的大局。我阅读了提供的链接,也理解了这些概念。最后一条评论只是想知道,在我今天刚刚开始学习JSTL时,是否还有其他方法不使用servlet;-)谢谢你的回答。但是,如果我从一个jsp页面转到另一个jsp页面,那么在这两个页面之间没有servlet执行呢。考虑一下,用一个参数QuyRNO进行超链接。对于上面相同的代码,我应该在viewQueries.jsp页面中执行什么操作?我需要从URL获取参数(QueryNo)值,然后需要创建与该QueryNo对应的查询对象。只需将href=“viewquerys.jsp?QueryNo=4”
替换为href=“viewquerys?QueryNo=4”
,其中viewquerys
定义为@WebServlet(“/viewquerys”)
并将该Java代码放在servlet的doGet()方法中。这就是全部。你有没有花点力气点击并阅读我评论中的链接?“所有这些都在那里解释得很清楚。@Aneesh,所有这些都属于良好实践,并促进了MVC所倡导的干净分离。”。为什么要让页面的一半使用JSTL,而另一半仍然会违反标准?你可能有其他的理由这样做,但你或任何要求你这样做的人都忽略了BalusC.Thanx向BalusC和Ravi Thapliyal概述的大局。我阅读了提供的链接,也理解了这些概念。最后一条评论只是想知道,在我今天刚刚开始学习JSTL时,是否还有其他方法不使用servlet;-)