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 data into the HttpServletRequest object, The forwarding target then uses the 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 the links between two Web components are linked, the linked component obtains the request parameters through the GetParameter () method, for example, assuming the link relationship between welcome.jsp and authenticate.jsp, the following code is in welcome.jsp:
<ahref= "Authenticate.jsp?username=wolf" >authenticate.jsp</a>
Or:
<formName= "Form1"Method= "POST"action= "authenticate.jsp" >
Please enter your name: <inputType= "Text"Name= "username" >
<inputType= "Submit"Name= "Submit"Value= "Submit" >
</form>
The Request.getparameter ("username") method is used in authenticate.jsp to obtain the request parameter username:
<%StringUsername=request.getparameter ("username");%>
( 3 ) When a forwarding relationship is between two Web components, the forwarding target component passes the getattribute () method to share data within the request scope with the forwarding source component.
AssumeA forwarding relationship between authenticate.jsp and hello.jsp. Authenticate.jsp wants to pass the current user name to Hello.jsp,How do you pass this data? First call the SetAttribute () method in authenticate.jsp:
<%
StringUsername=request.getparameter ("username");
Request.setattribute ("username", username);
%>
<jsp:forwardPage= "Hello.jsp"/>
Use the GetAttribute () method to get the user name in hello.jsp:
<%StringUsername= (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 () just flow inside the Web container, just the request processing phase.
getattribute is the return object, GetParameter return string
Overall: request.getattribute () The Request.getparameter method returns the object that exists in the request scope, and the () method is to get the data submitted by HTTP.
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Differences between the getparameter and GetAttribute methods of request