Httpservletrequest.getparameter ("modelname"); Can you get the modelobject you want? After testing, the discovery is not possible. Then think about it, the other reason is quite simple, when the two Web components are a forwarding relationship, the forwarding source will share data in the request scope first with setattribute to put the data into the HttpServletRequest object, and then forward the target through GetAttribute method to obtain the data to be shared. And MVC uses the forwarding between the Web Components! Why didn't you think of it when you were so stupid?
Here's a look at the differences between GetParameter and GetAttribute and their respective ranges of use.
(1) The HttpServletRequest class has a setattribute () method and no Setparameter () method
(2) When a link is linked between two Web components, the linked component obtains the request parameters through the GetParameter () method. For example, suppose the link relationship between welcome.jsp and authenticate.jsp, welcome.jsp has the following code:
<a href= " Authenticate.jsp?username=wolf ">authenticate.jsp </a>
or:
<form name= "Form1" method= "Post" action= "authenticate.jsp" > Please enter your name: <input type= "text" name= "username" > <input type= "Submit" name= "Submit" value= "Submission "> </form>
The Request.getparameter ("username") method is used in authenticate.jsp to obtain the request parameters Username:
<% string username=request.getparameter ("username"); %>
(3) When a forwarding relationship is between two Web components, the forwarding target component shares the data in the request scope with the forwarding source component through the GetAttribute () method.
Assume that there is a forwarding relationship between authenticate.jsp and hello.jsp. Authenticate.jsp want to pass the current user name to hello.jsp, how to pass this data? First call the SetAttribute () method in authenticate.jsp:
<% String username=request.getparameter ("username"); Request.setattribute ("username", username); %>
<jsp:forward page= "hello.jsp"/>
Use the GetAttribute () method to get the user name in hello.jsp:
<% string Username= (String) Request.getattribute ("username"); %> Hello: <%=username%>
From a deeper level of consideration, the data passed by the Request.getparameter () method is uploaded from the Web client to the Web server side, representing the HTTP request data. The Request.getparameter () method returns data of type String.
The data passed by the Request.setattribute () and GetAttribute () methods only exist inside the Web container and are shared between Web components that have a forwarding relationship. These two methods enable you to set shared data of type object.
Request.getparameter () is obtained through the implementation of the container to obtain the data passed through similar post,get.
Request.setattribute () and getattribute () only flow inside the Web container, only the request processing phase.
GetAttribute is the return object, GetParameter returns the string Overall: The Request.getattribute () method returns the objects that exist within the request scope, and the Request.getparameter () method is to get the data submitted by HTTP.
"Turn" httpserverrequest getparameter and getattribute method differences