Jsp 如何将数据从servlet填充到下拉列表

Jsp 如何将数据从servlet填充到下拉列表,jsp,servlets,httpsession,Jsp,Servlets,Httpsession,我有一个servlet,其中返回了一个列表: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request,

我有一个servlet,其中返回了一个列表:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("inside doPost of Role Management ---");
        this.context = request.getServletContext();
        UserProperties userProp;
        try{
            userProp= new UserProperties();
            //just a place holder to see if the property file can be read...
            userGroup_DS_Proxy = userProp.ReadProperties("UserGroup_DS_Proxy").toString();
            System.out.println("Properties file location was found in th tomcat folder");
        }catch(Exception ex){
            userProp= new UserProperties(context);
            System.out.println("Fail Safe Mode Activated");
        }
        userGroup_DS_Proxy = userProp.ReadProperties("UserGroup_DS_Proxy").toString();
        roleManagementDebug = Boolean.valueOf(userProp.ReadProperties("RoleManagementDebug").toString());
        RoleManagementDAO roleManagementDAO= new RoleManagementDAO(roleManagementDebug,userGroup_DS_Proxy);

        if(roleManagementDebug){
            System.out.println("new post for Role Management");
        }
        List<String> roles = roleManagementDAO.getRoles();
        HttpSession session = request.getSession(true);
        session.setAttribute("RoleList", roles);
    }
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
doPost(请求、响应);
}
/**
*@请参阅HttpServlet#doPost(HttpServletRequest请求,HttpServletResponse响应)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{
System.out.println(“角色管理的内部doPost---”);
this.context=request.getServletContext();
UserProperties-userProp;
试一试{
userProp=新的UserProperties();
//只是一个占位符,看看是否可以读取属性文件。。。
userGroup\u DS\u Proxy=userProp.ReadProperties(“userGroup\u DS\u Proxy”).toString();
System.out.println(“在tomcat文件夹中找到了属性文件位置”);
}捕获(例外情况除外){
userProp=新的UserProperties(上下文);
System.out.println(“故障安全模式激活”);
}
userGroup\u DS\u Proxy=userProp.ReadProperties(“userGroup\u DS\u Proxy”).toString();
roleManagementDebug=Boolean.valueOf(userProp.ReadProperties(“roleManagementDebug”).toString());
RoleManagementDAO RoleManagementDAO=新的RoleManagementDAO(roleManagementDebug,用户组\u DS\u代理);
if(roleManagementDebug){
System.out.println(“角色管理新职位”);
}
列表角色=roleManagementDAO.getRoles();
HttpSession session=request.getSession(true);
session.setAttribute(“角色列表”,角色);
}
现在我通过在HttpSession中将列表设置为: session.setAttribute(“角色列表”,角色)

现在我想在jsp中获取这个会话值,并用这个会话变量填充一个下拉列表。 因为我对JSP方面的知识不多,所以解决这个问题对我来说真的很难。我该怎么做?期待你的回答。
提前感谢

您可以使用jstl标记并显示列表,而不是尝试使用scriptlet()。在jsp的标题中

<%@ taglib prefix="c" 
       uri="http://java.sun.com/jsp/jstl/core" %>

你可以查看信息

<c:forEach var="listVar" items="${listName}">  //In your case RoleList 
     <option value ="${listVar.attribute1}">
           <c:out value="${listVar.attribute2}"/>
    </option>
</c:forEach>
//在您的例子中,RoleList

希望这对您有所帮助。

有关您的信息,您可以获得jstl库和jstl分步教程,谢谢您的回复。我目前正在落实你的答案。我很快就会通知您。我无法调用servlet。如何调用servlet页面并使用上面的代码段?在执行servlet之后,您需要使用上面的代码。然后只有会话
RoleList
可用。如果您需要任何澄清,请告诉我。