request.getParameter返回什么?

Pra*_*mod 22 java jsp

// index.jsp

<form method="post" action="backend.jsp">
<input type="text" name="one" />
<input type="submit value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

在backend.jsp中request.getParameter("one")是什么; 返回?

request.getParameter("one").getClass().getName();

返回java.lang.String,所以它必须是一个String吗?

但是我不能这样做

String one = request.getParameter("one");
if (!"".equals(one)) {}
Run Code Online (Sandbox Code Playgroud)

要么

if (one != null) {}
Run Code Online (Sandbox Code Playgroud)

这很明显,因为变量不会返回null.是

if (one.length() > 0) {}
Run Code Online (Sandbox Code Playgroud)

唯一的出路,还是有更好的解决方案或更好的方法?我正在考虑将这两个解决方案都放在jsp上.在这种情况下,使用servlet(尽管jsp是一个servlet)是一个不同的用例.

zie*_*mer 39

根据Javadoc:

以String形式返回请求参数的值,如果参数不存在,则返回null.

请注意,可以提交一个空参数 - 这样参数存在,但没有值.例如,我可以&log=&somethingElse在URL中包含以启用日志记录,而无需指定&log=true.在这种情况下,该值将为空String("").