我想知道在jsp页面上阅读文本输入的最佳方法是什么? 谁能说出由VS分隔的两个java代码之间有什么区别?
<input type=text id=myInput value="myInput">
<%
String data = request.getParameter("myinput");
//VS
request.setAttribute("myInput", data);
%>
答案 0 :(得分:2)
我认为您希望请求attribute
和parameter
之间存在差异。
请求parameter
始终是String
(即它们总是由String
偶数整数,布尔值,浮点数等表示,例如:“1”,“1.1”, “true”)并且在某个网址中,例如:http://google.com/search?q=question&cat=images
q
和cat
被称为parameters
或query parameters
,其值为question
,分别为images
。这是GET
请求的示例。
POST
个请求参数将是通过html <form>
提交的参数。
现在请求attributes
是对象,而不是parameters
。并且只能使用request.setAttribute("myInput", data);
data
来设置它们的值String
可以是Person
,data
类的实例或对象等,简而言之request.setParameter("myinput", data);
是一个对象。
还有一个区别是你没有方法<form>
没有这样的方法,所以请求参数只在提交html parameters
或URL包含如上所述的参数时设置
现在使用String data = request.getParameter("myinput");`
,您可以将其视为:
"myInput"
即使int
的值可能是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()
)读取值,另一个从请求属性({{1}})读取。
如果这不是您想要的,请告诉我。