2

我想知道在 jsp 页面上阅读文本输入的最佳方法是什么?谁能告诉VS分隔的两个java代码有什么区别?

  <input type=text id=myInput value="myInput">
  <%
        String data = request.getParameter("myinput");
   //VS
        request.setAttribute("myInput", data);  

  %>
4

1 回答 1

2

我想你想要一个 requestattributeparameter.

请求parameter始终是 a String(即它们始终由String偶数、布尔值、浮点数等表示,例如:“1”、“1.1”、“true”)并且在某个 URL 中,例如:http://google.com/search?q=question&cat=images q并且cat被称为parametersorquery parameters和它们的值是questionimages分别。这是GET请求的示例。 POST请求参数将是通过 html 提交的参数<form>

现在 requestattributes是对象而不是parameters. 并且它们的值只能通过使用来设置,request.setAttribute("myInput", data);这里data可以是类的一个String、实例或对象Person等,简而言之data就是一个对象。

还有一个区别是你没有方法没有这样的方法,所以只有在提交 html 或 URL 包含上述request.setParameter("myinput", data);参数时才设置请求参数。<form>

现在parameters你可以得到它们:

String data = request.getParameter("myinput");`

即使值 of"myInput"可能是intor boolean

对于属性,您可以将它们获取为:

String data = (String) request.getAttribute("myInput");` // if "myInput" is a String
Person data = (Person) request.getAttribute("myInput");`  // if "myInput" is an instance of Person class
Long data = (Long) request.getAttribute("myInput");`  // if "myInput" is a Long

所以现在你知道这两种代码有什么不同了,一种是从请求参数(request.getParameter())中读取值,另一种是从请求属性(request.getAttribute())中读取值。

如果这不是你想要的,请告诉我。

于 2013-01-14T16:41:14.397 回答