我一直在寻找解决此问题的日子。我已经使用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;软件。如果安装中出现错误,我必须发现它,证明它并转到支持小组并请求修复。