在weblogic的portal中建立集成原来的structs项目

来源:互联网 发布:淘宝支付限额怎么使用 编辑:程序博客网 时间:2024/06/01 08:03

portal有本身的action建立架构,但是有时候会需要把原来的structs项目集成进来,
或者建立一个纯粹java下的structs的架构!本文介绍如下:

想将一个STRUTS项目集成到bea portal中去,或者建立一个类似structs的protal项目:

 建的portal应用名(appliation)叫myportal
 建的PORTAL的web工程名叫myportalweb,在工程下建立web文件夹,即web模块!

  将例JSP文件(hello.jsp)放在了myportal/myportalweb/web/index/hello.jsp目录下。
  在这个JSP文件中有一下列一句:
<html:form action="/HelloWorld.do" method="post">

将STRUTS例子中的.java及.jar文件放在了相应的目录下,并且确定了.java文件已经生成了.class文件。

因为在bea portal中都要用struts的多模块概念,bea文档原话说:“模块路径为相对于 Web 应用程序根目录的
目录路径”。所以认为模块路径名为 /web 。相应的我把struts例子中的struts-config.xml文件复制过来并相应
的更名为jpf-struts-config-web.xml,并放在了 myportal/myportalweb/WEB-INF/.pageflow-struts-generated
文件夹下。

 该文件中配置了对HelloWorld.do的配置,如下:
<struts-config>
   <form-beans>
        <form-bean name="HelloForm" type="hello.HelloForm"/>
    </form-beans>

  <action-mappings>
       <action path   = "/HelloWorld"
               type      = "hello.HelloAction"
               name      = "HelloForm"
               scope     = "session"
               validate  = "true"
               input     = "/index/hello.jsp">
              
       <forward name="SayHello" path="/hello.jsp" />
    </action>
  </action-mappings> 
 <controller processorClass="com.bea.struts.adapter.action.AdapterRequestProcessor"/>
</struts-config>

然后我在IE中运行“http://localhost:7001/myPortalWeb/hello.jsp”,
结果报“An error has occurred:  Cannot retrieve mapping for action HelloWorld”的错误,
这是为什么呀?


是否需要把这个struts模块的xml文件在web.xml文件中进行注册,根据资料上说是自行加载该xml的。
我后来发现有两个问题:

1、在web.xml中把字符集进行了修改:

  <context-param>
    <param-name>weblogic.httpd.inputCharset./*</param-name>
    <param-value>GBK</param-value>
  </context-param>
 
2、即使设置了 scope = "session"的属性,即时使用<html:form>标签,该jsp仍然无法自行建立
action和actionForm的实例,需要通过:
http://localhost:7001/myPortalWeb/web/HelloWorld.do来访问,这个时候才会看到! 

原创粉丝点击