将值从 java 传递到 jsp 或 servlet

pass value from java to jsp or servlet

我正在做一个项目。我的工作是从数据库中检索数据并显示它们。如果需要发送到下一页进行进一步处理。我的问题是我从数据库中获得了价值,我想使用 href 向它发送另一个 jsp 或 servlet。 我检索的值是:

        <%=special.getString("id")%>

发送至:

      <a href="new.jsp?id=<%=special.getString("id")%>" class="action_button">Buy Now</a>

但是当发送这样的数据时错误是

对吗?我该怎么做?什么是正确的方法。我在这里被击中了很长时间,请帮助我。

在双引号内使用单引号。 我正在尝试键入代码但无法键入。 现在它应该工作了

id 周围使用单引号而不是双引号。

"new.jsp?id=<%=special.getString('id')%>"

您需要先转义引号或使用单引号,这样双引号才能起作用:

注:未测试。

<a href='new.jsp?id=<%=special.getString("id")%>' class="action_button">Buy Now</a>

我在您的错误消息中看到它说 DOUBLE_WHITESPACE in QUERY。我建议你试试 encoding 你 url.

  <% String id=java.net.URLEncoder.encode(special.getString("id") , "UTF-8");%>
  <a href='new.jsp?id=<%=id%>' class="action_button">Buy Now</a>

如果您认真对待 JSP 开发沟 scriptlet(10 多年前就不再常用)并熟悉 Java 标准标签库和 JSP表达语言。

我不太确定这里的 'special' 是什么,但是使用 EL 你的代码将如下所示:

<!-- special is an object with a method getId()-->
<a href="new.jsp?id=${special.id}" class="action_button">Buy Now</a>

<!-- special is an object with a method getString(String key) -->
<a href="new.jsp?id=${special.getString('id')}" class="action_button">Buy Now</a>

如果这不起作用,则在任何范围内都没有带有键 'special' 的 bean。

请注意,如果您在 JSP 中使用数据库,则应考虑重构以使用标准 JSTL SQL 标记。请参阅下面的示例:

http://www.tutorialspoint.com/jsp/jstl_sql_query_tag.htm

另请参阅:

http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

http://beginnersbook.com/2013/11/jsp-expression-language-el/

*第二个例子的注意事项你的应用程序需要符合 Servlet 3 规范(因为在此之前传递 mthod 参数在 EL 中是不支持的)。进一步查看: