struts2注意事项

jsp页面中:
<s:param name="section" value="aaaa"></s:param>
提交到action中获得该section的值:
String[] str = (String[])ActionContext.getContext().getParameters().get("section");
str[0]就是要获取的对象

1. 不要在Action的构造函数里使用ActionContext.getContext()。
因为这个时候ActionContext里的一些值也许没有设置,这时通过ActionContext取得的值也许是null;
2. HttpServletRequest req = ServletActionContext.getRequest()也不要放在构造函数中,也不要直接将req作为类变量给其赋值。
ServletActionContext是线程安全的,线程安全要求每个线程都独立进行,所以req的创建也要求独立进行,所以ServletActionContext.getRequest()这句话不要放在构造函数中,也不要直接放在类中,而应该放在每个具体的方法体中(eg:login()、queryAll()、insert()等),这样才能保证每次产生对象时独立的建立了一个req。


你可能感兴趣的:(struts2注意事项)