Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将值从Servlet传递到JSP_Java_Forms_Jakarta Ee_Servlets - Fatal编程技术网

Java 将值从Servlet传递到JSP

Java 将值从Servlet传递到JSP,java,forms,jakarta-ee,servlets,Java,Forms,Jakarta Ee,Servlets,我想从列表中选择一个用户,并在输入字段中显示值(以便管理员可以更改它们) JSP具有从用户列表中选择用户的表单: <form action="UserSelectionController" method="POST"> <select name="selectedUser" onchange="this.form.submit()"> <% Object

我想从列表中选择一个用户,并在输入字段中显示值(以便管理员可以更改它们)

JSP具有从用户列表中选择用户的表单:

         <form action="UserSelectionController" method="POST">
             <select name="selectedUser" onchange="this.form.submit()">
                <%
                  Object[] userList_ref = UserListService.getUserList();
                  for (int i = 0; i < userList_ref.length; i++) {%>
                        <option  size="5" value="<%=userList_ref[i]%>">           <%=userList_ref[i]%></option> <% }%>
             </select>
        </form>
它还使用getter方法将值带回JSP:

    public String getFirstname() {
    return firstname;
}
system out println测试在servlet中显示正确的值。重定向到数据来自的同一个JSP。回到JSP中,我想在输入字段中显示值:

   <jsp:useBean id="userSelection" class="servlets.UserSelectionController" />
   <input type="text" name="firstname" value="<% userSelection.getFirstname();%>" />

不幸的是,这里的值是空的。我能做什么。任何线索都很好。
向您致意,Daniel,您正在使用servlet作为dto。这不好

创建另一个pojo,它将是一个。它将只包含字符串成员变量和相应的getter/setter。使用查询结果填充其成员,并将dto放入会话:

request.setAttribute(“userSelectionDTO”,userSelectionDTO)

然后更改jsp,使其引用dto:

 <jsp:useBean id="userSelection" class="servlets.UserSelectionDTO" />
 <input type="text" name="firstname" value="<% userSelection.getFirstname();%>"


按照Nimchinpsky所写的操作,或者只将所选用户保持在http会话中。

您能告诉我在哪里吗?在控制器(servlet)中还是在jsp上?感谢行请求的内容。setAttribute(“userSelectionDTO”)、userSelectionDTO);确实如此吗?没有会话集,它无法正常工作。您可能没有设置请求属性,或者无法初始化userSelection ObjectScriptlet的firstname成员变量,因为它与taglibs/EL不共享同一作用域。使用EL。您也不需要jsp:useBean。我会首先将鼠标放在问题下方的
servlet
标记上方,直到弹出一个黑框。然后,单击其中的信息链接。
 <jsp:useBean id="userSelection" class="servlets.UserSelectionDTO" />
 <input type="text" name="firstname" value="<% userSelection.getFirstname();%>"