今天写出试卷,出现了一个小问题,在第一个页面,我把试卷的信息放在了action中,下一个页面能正确获取到,但是到了第三个页面,就获取不到了,调试了很久也没发现为什么,突然,我发现在第二个页面的地址栏上,地址是前一个页面提交表单的action地址,突然感觉明白了问题出在哪,于是我在struts中把resutlt的type设置成redirect,问题解决了.
结论:在第二个页面点下一步的时候,其实是执行地址栏上面的那个action(下一步的按钮是一个JSP页面链接),这个问题我也不知道为什么,费解啊.
顺便记下struts中获取servlet api的方法之一
ActionContext ac = ActionContext.getContext(); // 通过这个拿到session等jsp内置对象。不过中间还是隔了一层,没有接触最底层的servlet
// api
Map<String,Object> session = ac.getSession(); //获取到struts包装的session