最近做了几个s2sh的项目,感觉自己欠缺还是很多。
以下是几个需要解决的问题:
1.spring事务管理
2.struts2中actionContext对象的滥用
3.struts2标签使用
4.拦截器的使用
5.session的滥用
6.json解析
思路比较凌乱,等慢慢整理,提醒自己需要强化的内容。
先从Action开始说起吧,数据层方面的设计,我还需要整理下。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
/**
* 系统上下文(线程级别)
* @author Jeff.sui
* @since 2011.4.24
*
*/
public class AOLContext {
private ThreadLocal<Map<String,Object>> additionalContextHolder = new ThreadLocal<Map<String,Object>>();
private static AOLContext inst = null;
public AOLContext(){
}
public static AOLContext getContext(){
if (inst==null) {
inst = new AOLContext();
}
return inst;
}
public Map<String,Object> getApplication(){
return ActionContext.getContext().getApplication();
}
public Locale getLocale() {
return ActionContext.getContext().getLocale();
}
public Map<String, Object> getParameters() {
return ActionContext.getContext().getParameters();
}
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
public ServletContext getServletContext() {
return ServletActionContext.getServletContext();
}
/**
* 从HttpRequest中获得指定参数,并以Integer形式返回。
* @param paramName 参数名
* @return 参数值
*/
public Integer getReqParaAsInt(String paramName) {
String pv = ServletActionContext.getRequest().getParameter(paramName);
if(pv!=null)
{
return Integer.valueOf(pv);
}
return null;
}
/**
* 从HttpRequest中获得指定参数,并以Short形式返回。
* @param paramName 参数名
* @return 参数值
*/
public Short getReqParaAsShort(String paramName) {
String pv = ServletActionContext.getRequest().getParameter(paramName);
if(pv!=null)
{
return Short.valueOf(pv);
}
return null;
}
/**
* 从HttpRequest中获得指定参数,并以字符串形式返回。
* @param paramName 参数名
* @return 参数值
*/
public String getReqParaAsStr(String paramName) {
return ServletActionContext.getRequest().getParameter(paramName);
}
/**
* 向系统上下文中添加一个对象
* @param key 对象KEY
* @param value 对象实例
*/
public void put(String key, Object value)
{
additionalContextHolder.get().put(key, value);
}
/**
* 从系统上下文中获得指定Key的对象
* @param key KEY
* @return KEY对应的对象
*/
public Object get(String key)
{
return additionalContextHolder.get().get(key);
}
void init()
{
additionalContextHolder.set(new HashMap<String,Object>());
}
void clear()
{
additionalContextHolder.set(null);
}
}