论坛首页 Java企业应用论坛

去繁从简,有关免配置Java Web框架的一些设想和实现

浏览 4504 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-25   最后修改:2011-03-25
以前写过类似的

当我请求/loginaction/login时,将自动调用LoginAction.login()方法
而请求/loginaction/logout时,自动调用LoginAction.logout()方法


一直不怎么用struts
就凑活这么用的
                String action=request.getParameter("action");
try {
Class c= Class.forName("com.xxxx.web.transmit.GlobalTransmit");
Class[] arg=new Class[]{HttpServletRequest.class,HttpServletResponse.class};
Method method=c.getMethod(action,arg);
method.invoke(c.newInstance(), new Object[]{request,response});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/Control?action=xxxx就会调用GlobalTransmit的xxx方法。。。
0 请登录后投票
   发表时间:2011-03-25  
luciferdevil 写道
以前写过类似的

当我请求/loginaction/login时,将自动调用LoginAction.login()方法
而请求/loginaction/logout时,自动调用LoginAction.logout()方法


一直不怎么用struts
就凑活这么用的
                String action=request.getParameter("action");
try {
Class c= Class.forName("com.xxxx.web.transmit.GlobalTransmit");
Class[] arg=new Class[]{HttpServletRequest.class,HttpServletResponse.class};
Method method=c.getMethod(action,arg);
method.invoke(c.newInstance(), new Object[]{request,response});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/Control?action=xxxx就会调用GlobalTransmit的xxx方法。。。

道理虽然查不到,但是我觉得还是把调用方法的信息存储到请求路径中而不是请求参数中更好一下,你以为呢?
比较喜欢rest风格/action/method,还有一种风格/action/method:xxx
这样的话,表单提交就可以不必回避一些类似于method或者action的参数了
0 请登录后投票
   发表时间:2011-03-25  
我记得之前在公司,都是在方法的前面加上@Action(xxx) 然后程序就会自动找到这个方法了。 好像是按包名来找的,我才刚做这个,不太会。网上搜了下,也没弄明白是怎么弄的,求正解。
0 请登录后投票
   发表时间:2011-03-26  
thzthbthy 写道
我记得之前在公司,都是在方法的前面加上@Action(xxx) 然后程序就会自动找到这个方法了。 好像是按包名来找的,我才刚做这个,不太会。网上搜了下,也没弄明白是怎么弄的,求正解。

简而言之,就是注解+反射~
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics