2 steve yanrun steve_yanrun 于 2016.09.25 18:49 提问

Servlet怎样获取EL表达式的值

如下面代码所示:
1.JSP页面的标签

 <input type="text" name="account" value="${sessionScope.account}" />

2.Servlet的取值

 String account = request.getParameter("account");

但运行结果是account取值为空,请问大家,应该如何正确的取值?谢谢!

8个回答

Message_lx
Message_lx   2016.09.25 21:59
已采纳

首先看jsp页面中,是否得到了那个session域中的对象,如果对象得到了,就看你是怎么提交的是post还是get。使用getParameter()方法,不是getAttribute("account")

wd521521
wd521521   2016.09.25 22:48

属性名的获取应该是getParameter(),从域中获取应该是getAttribute()

SHANGjojo
SHANGjojo   2016.09.25 20:22

看下你的servlet代码吧

steve_yanrun
steve_yanrun Servlet代码如下:
大约一年之前 回复
steve_yanrun
steve_yanrun   2016.09.25 20:23

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// String account = (String) request.getAttribute("account");
System.out.println("--------------------------------"+account);
List<Teacher> oneTeaInfo = new ArrayList<Teacher>();
try {
oneTeaInfo = new TeacherDao().queryTeaInfo(account);
HttpSession session = request.getSession();
session.setAttribute("oneTeaInfo", oneTeaInfo);
request.getRequestDispatcher("/teacher_info.jsp").forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
`


steve_yanrun
steve_yanrun   2016.09.25 20:25
 public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // String account = (String) request.getAttribute("account");
        System.out.println("--------------------------------"+account);
        List<Teacher> oneTeaInfo = new ArrayList<Teacher>();
        try {
            oneTeaInfo = new TeacherDao().queryTeaInfo(account);
            HttpSession session = request.getSession();
            session.setAttribute("oneTeaInfo", oneTeaInfo);
            request.getRequestDispatcher("/teacher_info.jsp").forward(request,response);
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }

那个JSP的值是从session里传过去的,不是写死的

dgyingling
dgyingling 从session传入的值不是oneTeaInfo吗?
大约一年之前 回复
oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.09.25 20:44

说明你传到页面的 sessionScope.account 值本来就为空;或者你重新编辑后value还是为空

oSanYeCao1234567
oSanYeCao1234567 回复Run_er: 看我下面的回复
大约一年之前 回复
steve_yanrun
steve_yanrun 现在最奇怪的是,我试着写死一个值,Servlet获取到的居然还是为空,这是为什么
大约一年之前 回复
oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.09.25 20:49

刚才看了下的代码,发现了错误点,应该是 getParameter()方法获取表单参数值

steve_yanrun
steve_yanrun 是的,我也用了String account = request.getParameter("account");如最上面的那个,依然无法获取。所以没想通为什么,怎么就获取不到
大约一年之前 回复
qq_36795576
qq_36795576   2017.03.14 09:37

同样的问题,我也遇到了,根据上面说的还是拿到的是null值,请问楼主当初是怎么解决的呀?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!