1

正如问题所暗示的那样。在 RAD/eclipse 中使用动态 web 3.0 项目与要部署在 websphere 8.5.1 中的库 struts 1.2.9 时会不会有任何冲突?原因是我正在使用 struts 1.1 从 websphere 5.1 迁移,但想知道我是否会如果我进行此迁移,会遇到任何困难。

干杯。

我收到以下错误:

javax.servlet.jsp.JspException:在 org.apache.struts.taglib.html.JavascriptValidatorTag.renderJavascript(JavascriptValidatorTag.java:384) 在 org.apache.struts.taglib 的语言环境“en_US”中的“SAChangeSecretQAsFormBean”下找不到表单。 com.ibm._jsp._SA_5F_SecretQuestions._jspx_meth_html$1el_javascript_0(_SA_5F_SecretQuestions.java: 304) 在 com.ibm._jsp._SA_5F_SecretQuestions._jspService(_SA_5F_SecretQuestions.java:140) 在 com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99) 在 javax.servlet.http.HttpServlet.service (HttpServlet.java:668) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper。com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) 处的服务(ServletWrapper.java:1224) com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)在 com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 在 com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) 在 com.ibm.ws.jsp .webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:216) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain .java:79) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) 在 com.ibm.ws .webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) 在 org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) 在 org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java :398) 在 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) 在 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) 在 org.apache.struts.action。在 javax.servlet.http 的 javax.servlet.http.HttpServlet.service(HttpServlet.java:575) 的 ActionServlet.doGet(ActionServlet.java:414)。HttpServlet.service(HttpServlet.java:668) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:第 774 章.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter (WebAppFilterManager.java:928) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 在 com.ibm.ws.webcontainer.webapp。WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) 在 org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)在 org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) 在 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) 在 org.apache.struts.action.ActionServlet.process (ActionServlet.java:1196) 在 org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:575) 在 javax.servlet.http。 com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224) 上 com.ibm.ws 上的 HttpServlet.service(HttpServlet.java:668)。webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) 在 com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest( ServletWrapperImpl.java:178) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) 在 com .web.sa.SecurityServlet.doFilter(SecurityServlet.java:75) 在 com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter (WebAppFilterChain.java:91) 在 com.web.sa.SAReqLoggerServlet.doFilter(SAReqLoggerServlet.java:62) 在 com.ibm.ws.webcontainer.filter。FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java: 928) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 在 com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) 在 com.ibm.ws .webcontainer.WebContainer.handleRequest(WebContainer.java:895) 在 com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 在 com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java :195) 在 com.ibm.ws.http 的 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)。channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312) 在 com.ibm.ws.http。 channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:283) 在 com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1048) 在 com.ibm.ws.ssl.channel。 impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:716) 在 com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyHandshakeCompletedCallback.complete(SSLConnectionLink.java:412) 在 com.ibm.ws.ssl.channel.impl。 SSLUtils.handleHandshake(SSLUtils.java:1066) 在 com.ibm.ws.ssl.channel.impl.SSLHandshakeIOCallback.complete(SSLHandshakeIOCallback.java:87) 在 com.ibm.ws.tcp.channel.impl.AioReadCompletionListener。futureCompleted(AioReadCompletionListener.java:165) 在 com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 在 com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 在 com.ibm .io.async.AsyncFuture.completed(AsyncFuture.java:138) 在 com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 在 com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java :775) 在 com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)async.AsyncFuture.completed(AsyncFuture.java:138) 在 com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 在 com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)在 com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)async.AsyncFuture.completed(AsyncFuture.java:138) 在 com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 在 com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)在 com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)

但表格在源代码中:web\src\com\web\sa\SAChangeSecretQAsFormBean.java

我的网络配置:web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
...
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
        <param-name>config/jsp/sa</param-name>
        <param-value>/WEB-INF/struts-config-sa.xml</param-value>
    </init-param>
...
        <load-on-startup>2</load-on-startup>
</servlet>
...
</web-app>

我的 sturts 配置是:struts-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
                               "struts-config_1_2.dtd">
<struts-config>
    <!-- Data Sources -->
    <data-sources></data-sources>

    <!-- Form Beans -->
    <form-beans>
...
        <form-bean name="SAChangeSecretQAsFormBean" type="com.web.sa.SAChangeSecretQAsFormBean"></form-bean>
...
</form-beans>
...
</struts-config>

struts-config-sa.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
                               "struts-config_1_2.dtd">

<struts-config>
...
    <form-beans>
...
    <form-bean name="SAChangeSecretQAsFormBean" type="com.web.sa.SAChangeSecretQAsFormBean"></form-bean>
...
    </form-beans>
...
    <action-mappings>
...
    <action path="/SAChangeSecretQAs" 
            name="SAChangeSecretQAsFormBean" 
            type="com.web.sa.SAChangeSecretQAsAction" scope="session" input="success">
        <forward name="success" path="jsp/sa/SA_SecretQuestions.jsp"></forward>
        <forward name="logout" path="jsp/sa/SALogout.do?buttonPressed=logout&amp;CASE_FORWARD=YES"></forward>
        <forward name="access" path="jsp/sa/SAAccessDetails.do?CASE_FORWARD=YES"></forward>
    </action>
...
    </action-mappings>
</struts-config>

SAChangeSecretQAsFormBean.java

package com.web.common;

public class SAChangeSecretQAsFormBean extends ValidatorForm
{
...
}

SAChangeSecretQAsAction.java

package com.web.sa;
public class SAChangeSecretQAsAction extends Action
{
    public ActionForward executeAction(
                    ActionMapping mapping,
                    ActionForm form,
                    HttpServletRequest req,
                    HttpServletResponse res)
                    throws IOException, ServletException
    {
...
    }
...
}

SA_SecretQuestions.jsp

<%@ include file = "../common/header.inc"%>
<%
  try {
      %>
<html-el:javascript formName="SAChangeSecretQAsFormBean" staticJavascript="false" dynamicJavascript="true" page="0" />
      <%
  }
  catch (Exception x) {
    x.printStackTrace();
  }
%>

头文件公司

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="../../WEB-INF/struts-html-el.tld" prefix="html-el" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="../../WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="../../WEB-INF/struts-logic-el.tld" prefix="logic-el" %>
<%@ page import ="com.constant.*" buffer="16kb" errorPage="../errorpages/GenericErrorPage.jsp"  %>

<%String cacheReq=null;%>

<html-el:base/>
<html> 
<HEAD>

如果缺少任何其他信息,请告诉..谢谢

4

0 回答 0