JSP和Servlet解析参数

时间:2016-04-15 21:15:18

标签: java jsp servlets

假设我的jsp网站上有一个删除按钮,其中包含以下代码:

std::multiset

每当我点击我的删除按钮时,我们就会看到它转发到网站

  

“deleteMovie?movieID = $ {movie.movi​​eID}”

我还有一个servlet,它被映射到“/ deleteMovie”,因此调用了servlet。 在servlet中,我有以下代码:

<a href="deleteMovie?movieID=${movie.movieID}">
<button type="button" class="btn btn-xs btn-danger">
<span class="glyphicon glyphicontrash" aria-hidden="true"></span> Delete </button></a>

你怎么解释我,无论我在href值的等号后写什么,这个特定的文本是在String movieID下返回的? 例如,如果我写:

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

然后String movieID将包含“Foo”。 但为什么?为什么要从href解析movieID?

2 个答案:

答案 0 :(得分:1)

在GET请求中,您可以使用查询字符串为请求提供参数。查询字符串是?,后跟名称 - 值对,例如movieID=Foo。在这种情况下,movieID的值为Foo。如果您想要多个名称 - 值对,请在它们之间添加&

提交form时,会为您创建这些参数。因此,如果您要提交此表单:

<form method="GET" action="deleteMovie">
    <input type="hidden" name="movieID" value="Foo" />
    <input type="submit" />
</form>

它会生成一个deleteMovie?movieID=Foo的网址,然后将其发送出去。

答案 1 :(得分:1)

如果这是你的网址,那么代码中没有任何混淆

<a href="submitvalues?parameter1=value1&parameter2=value2">

然后parametes1 and parameter2 are parameter names并为=分配值,& sign符号参数由servlet side分隔。 如果您提供correct parameter name,请在String param1 = request.getParameter("parameter1"); String param2 = request.getParameter("parameter2"); 上 那么你可以得到这些值

items = ["Alex", "Bob", "Charlie", "Doug", "Eddie"]

display_next_item(items)
# Alex

display_next_item(items)
# Bob

# ...

display_next_item(items)
# Eddie

display_next_item(items)
# Alex

没有什么令人困惑的。