找回密码
 注册成为天翎用户
查看: 1344|回复: 9

[已解决] 自己添加的action无法调用

[复制链接]
广州远信软件 发表于 2015-1-13 11:24:36 | 显示全部楼层 |阅读模式
本帖最后由 alvin 于 2015-2-3 13:50 编辑

我在代码里面自己加了个action,然后调用时,报如下错误:请问是什么原因
11:04:56,234  WARN SecurityFilter:285 - /obpm/core/cuiban/cuibanDialog.action
cn.myapps.base.OBPMValidateException: {*[core.superuser.notexist]*}!
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean.login(SuperUserProcessBean.java:145)
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean$$EnhancerByCGLIB$$3531501c.CGLIB$login$3(<generated>)
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean$$EnhancerByCGLIB$$3531501c$$FastClassByCGLIB$$ae4689bf.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
        at cn.myapps.protection.util.WarpProcessFactory.intercept(WarpProcessFactory.java:285)
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean$$EnhancerByCGLIB$$3531501c.login(<generated>)
        at cn.myapps.base.web.filter.SecurityFilter.loginAdmin(SecurityFilter.java:277)
        at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:188)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at cn.myapps.base.web.filter.EncodingFilter.doFilter(EncodingFilter.java:28)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
cn.myapps.base.OBPMValidateException: {*[core.superuser.notexist]*}!
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean.login(SuperUserProcessBean.java:145)
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean$$EnhancerByCGLIB$$3531501c.CGLIB$login$3(<generated>)
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean$$EnhancerByCGLIB$$3531501c$$FastClassByCGLIB$$ae4689bf.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
        at cn.myapps.protection.util.WarpProcessFactory.intercept(WarpProcessFactory.java:285)
        at cn.myapps.core.superuser.ejb.SuperUserProcessBean$$EnhancerByCGLIB$$3531501c.login(<generated>)
        at cn.myapps.base.web.filter.SecurityFilter.loginAdmin(SecurityFilter.java:277)
        at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:188)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at cn.myapps.base.web.filter.EncodingFilter.doFilter(EncodingFilter.java:28)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)


JS调用代码:
js调用.png

action配置:
action配置.png

action代码(暂时注释掉里面的代码逻辑):
action.png
alvin 发表于 2015-1-13 12:21:59 | 显示全部楼层
你好,你的xml文件要include到目录:/obpm/src/main/resources/struts.xml 中。
而且你的namespace要对应文件路径。
回复

使用道具 举报

 楼主| 广州远信软件 发表于 2015-1-13 13:36:44 | 显示全部楼层
回复 2# alvin

struts.xml 里面有加了的 <!-- cuiban -->
    <include file="cn/myapps/core/cuiban/action/myapps-cuiban-front.xml"></include>

文件路径也是对的 ,jsp文件在这个目录下obpm\src\main\webapp\core\cuiban\cuiban.jsp

namespace我配置的有错吗,只要我调用的时候和这个namespace对应就可以了啊,是不是你们这个平台对请求做了其他处理?
回复

使用道具 举报

alvin 发表于 2015-1-13 13:55:29 | 显示全部楼层
你这里用的路径是/core,需要后台登陆才能执行。
你可以使用/portal,或者把路径放在cn.myapps.base.web.filter.SecurityFilter.isExcludeURI()方法中,不做验证。
回复

使用道具 举报

 楼主| 广州远信软件 发表于 2015-1-13 16:55:05 | 显示全部楼层
回复 4# alvin

改了路径,现在可以了,不过还有个问题,我在action设置的东西,为什么在jsp页面上获取不到,用了下S:debug也没看到有对应的参数,需要另外配置什么吗

List<CuibanVO> cuibanList;
       
        private String name;
       
        public String getName() {
                name = "名字";
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public List<CuibanVO> getCuibanList() {
                if(null == cuibanList) {
                        cuibanList = new ArrayList<CuibanVO>();
                }
                return cuibanList;
        }
回复

使用道具 举报

alvin 发表于 2015-1-13 18:10:48 | 显示全部楼层
action配置文件吗?
要配置拦截器栈。
<interceptor-ref name="chain" />
<interceptor-ref name="basicStack" />
<interceptor-ref name="params" />
回复

使用道具 举报

 楼主| 广州远信软件 发表于 2015-1-13 18:32:33 | 显示全部楼层
回复 6# alvin


    加了这几个拦截器也没有用,不知道什么原因,我用同样的方法在其他工程中是可以的,
和使用这个OBPM.dialog.show({})调用action返回页面; 会有关系吗?

<package name="cuiban-front" extends="myapps-default"
                namespace="/portal/cuiban">

                <action name="cuibanDialog"
                        class="cn.myapps.core.cuiban.action.CuibanAction"
                        method="doCuibanDialog" >
                        <result name="success">
                                /portal/share/cuiban/cuiban.jsp
                        </result>               
                        <interceptor-ref name="params" />
                        <interceptor-ref name="chain" />
                        <interceptor-ref name="basicStack" />
                </action>
        </package>


要不你明天帮我看下,QQ:350,134,644
回复

使用道具 举报

alvin 发表于 2015-1-14 16:51:48 | 显示全部楼层
在其他工程中可以是什么意思,能调用到值栈里的值?
只有在OBPM.dialog.show({})里调用不了?
没有影响的,或者你查看下有没冲突的参数。
回复

使用道具 举报

alvin 发表于 2015-1-16 11:03:48 | 显示全部楼层
你好,请反馈!
回复

使用道具 举报

alvin 发表于 2015-2-3 13:49:28 | 显示全部楼层
该贴已结!
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 05:49

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表