【问题标题】:How to pass scriptlet value from JSP to Servlet [duplicate]如何将 scriptlet 值从 JSP 传递到 Servlet [重复]
【发布时间】:2018-05-29 06:32:29
【问题描述】:

我正在尝试开发简单的购物车应用程序。所以我在 Derby DB 中有简单的数据库表。从那里我将数据检索到 JSP 中的表中。现在我想将该值传输到 servlet。这是我的部分代码:

ItemList.JSP

<%
String id = request.getParameter("userId");
String driverName = "org.apache.derby.jdbc.EmbeddedDriver";
String connectionUrl = "jdbc:derby://localhost:1527/";
String dbName = "CartDB";
String userId = "aaa";
String password = "aaa";
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
%>
<table id="customers">
<%
try{
connection = DriverManager.getConnection(connectionUrl+dbName, userId, password);
statement=connection.createStatement();
String sql ="SELECT * FROM electronics_catagory";
resultSet = statement.executeQuery(sql);
while(resultSet.next()){
%>
<tr>
<td class="white">
<img src="<%=resultSet.getString("image") %>" style="width:300px;height:230px;" alt="product image">
</td>
<td class="white">
Product Name : <%=resultSet.getString("name")%><br>
<span class="smallText">Description : <%=resultSet.getString("description") %></span>
</td>
<td class="white">price <br/> <%=resultSet.getString("price") %></td>
<td class="white">Required QTY : <br> <input type="text" name="qty"></td>
<td class="white">
<form action="#" method="post">
<button class="button"><span>Add to WishList</span></button>
</form>
</td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>

所以有人知道如何将这些值(例如:-&lt;%= resultSet.getString("price") %&gt;)传递给 servlet?

【问题讨论】:

    标签: jsp servlets scriptlet


    【解决方案1】:

    如果你的 servlet 映射到你的 doGet 上,你可以这样做(没有表单):

    <a class="button" href="../YourServletUrl?price=<%=resultSet.getString("price") %>"><span>Add to WishList</span></a>
    

    然后在你的servlet的doGet方法中,像平常获取任何表单参数一样获取它:

    String price = request.getParameter("price");
    

    【讨论】:

    • 谢谢伙伴,知道如何通过这种方法传递多个变量吗?
    • 是的,只需使用 & 符号 &amp; 例如:href="../YourServletUrl?price=&lt;%=resultSet.getString("price") %&gt;&amp;name=&lt;%=resultSet.getString("name")%&gt; 所以它看起来像这样:../YourServletUrl?price=9000&amp;name=chocolate
    • 真的,虽然您不应该使用 scriptlet 来完成所有这些......自 2010 年以来一直不鼓励使用它们,并被 EL 和 JSTL 取代。
    • 啊,那就更糟了,谢谢指正。疯狂的人们如何仍在使用它。不确定我在哪里阅读 2010 年。
    猜你喜欢
    • 1970-01-01
    • 2013-11-25
    • 2012-05-03
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多