Struts2和Tomcat 8的Tag-lib问题

时间:2016-07-08 15:45:23

标签: eclipse jsp struts2

我一直在寻找解决此问题的日子。我已经使用Struts2多年了,但现在我在一家新公司,并试图在我的开发环境中设置Struts2。我无法选择安装的内容。我们有一个极其可控的环境,所以它完全不在我的手中。但是,我将尝试在我的个人计算机上安装环境,看看会发生什么。

我的工作站上安装了Eclipse LUNA(4.4.2),Apache Tomcat 8.0.38和Java版本1.8.0_92。在Eclipse中,我使用Maven设置了动态Web项目。

在Maven中,我刚刚离开了教程提供的配置。它引入了javax.servlet-api v3.1.0和struts2-core v2.3.20。 Maven依赖项包含在Web部署程序集中。我在Tomcat解压缩WAR文件后检查了目录。 Struts2核心绝对存在。

Eclipse项目中没有错误或警告。但是当我尝试执行第一个jsp时,我从Tomcat得到一个错误500"无法找到taglib" s"对于URI:/ struts-tags"。

我的struts.xml文件包含:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
  <constant name="struts.enable.DynamicMethodInvocation"
     value="false" />

  <constant name="struts.devMode" value="true" />
  <constant name="struts.custom.i18n.resources"
      value="ApplicationResources" />

  <package name="default" namespace="/" extends="struts-default">
      <action name="login"
          class="org.o7planning.tutorial.struts2xml.action.LoginAction">
          <result name="success">/WEB-INF/pages/UserInfo.jsp</result>
          <result name="error">/WEB-INF/pages/Login.jsp</result>
      </action>
  </package>  

 </struts>

web.xml文件包含:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 id="WebApp_ID" version="3.0">

 <display-name>Struts2XML</display-name>


 <filter>
   <filter-name>struts2</filter-name>
   <filter-class>
             org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
   </filter-class>
 </filter>

 <filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>

 <welcome-file-list>
   <welcome-file>/WEB-INF/pages/Login.jsp</welcome-file>

</web-app>

jsp包含:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2 - Login Application </title>
</head>

<body>
<h2>Struts 2 - Login Application</h2>
<s:actionerror />
<s:form action="/login" method="post">
  <s:textfield name="username" key="label.username" size="20" />
  <s:password name="password" key="label.password" size="20" />
  <s:submit method="execute" key="label.login" align="center" />
</s:form>
</body>
</html>

我发现的每一个问题,都有许多,围绕着Eclipse。我没有遇到这个问题。我没有得到任何关于此的Eclipse消息,所有文件似乎都在正确的位置。所以我很难过!!

Maven pom文件的内容:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>net.codejava.web</groupId>
    <artifactId>SpringStrutsDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>

<properties>
    <java-version>1.8</java-version>
    <org.springframework-version>4.2.6.RELEASE</org.springframework-version>
    <struts2-version>2.5.1</struts2-version>
    <javax-servlet-api-version>3.1.0</javax-servlet-api-version>
    <javax-servlet-jsp-version>2.3.1</javax-servlet-jsp-version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <version>${struts2-version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-spring-plugin</artifactId>
        <version>${struts2-version}</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax-servlet-api-version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>${javax-servlet-jsp-version}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

WEB-INF / lib

中的jar文件列表
aopalliance-1.0.jar
asm-3.3.jar
sm-commons-3.3.jar
sm-tree-3.3.jar
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
commons-lang3-3.4.jar
commons-logging-1.2.jar
freemarker-2.3.23.jar
javassist-3.20.0-GA.jar
javax.servlet-api-3.1.0.jar
javax.servlet.jsp-api-2.3.1.jar
libs.txt
log4j-api-2.5.jar
ognl-3.1.8.jar
spring-aop-4.2.6.RELEASE.jar
spring-beans-4.2.6.RELEASE.jar
spring-context-4.2.6.RELEASE.jar
spring-context-support-4.2.6.RELEASE.jar
spring-core-4.2.6.RELEASE.jar
spring-expression-4.2.6.RELEASE.jar
spring-web-4.2.6.RELEASE.jar
spring-webmvc-4.2.6.RELEASE.jar
struts2-core-2.5.1.jar
struts2-spring-plugin-2.5.1.jar

我无法在此计算机上尝试其他平台。我们可以安装的东西完全不在我们手中。我们甚至没有对我们的开发工作站拥有管理员权限。我拥有的就是我必须使用的东西。我们有一个软件门户网站,可以安装&#34;已批准的&#34;软件。如果安装中出现错误,我必须发现它,证明它并转到支持小组并请求修复。

0 个答案:

没有答案