0

Это сообщения об ошибках:Там нет действий отображаются для пространства имен [/] и действие по ошибке имени

ПРЕДУПРЕЖДЕНИЯ: Нет конфигурации найдено для указанного действия: «Добро пожаловать» в пространстве имен: «». Действие формы по умолчанию на буквенное значение атрибута «действие».

Я попытался установить стойки под WEB-INF/classes, но он все еще не работает. Я застрял здесь пару дней, пожалуйста, помогите.

struts.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 3.0//EN" 
    "http://struts.apache.org/dtds/struts-2.5.dtd"> 
<struts> 
<package name="default" namespace="/" extends="struts-default"> 
    <action name="login"> 
     <result>login.jsp</result> 
    </action> 
    <action name="welcome" class="com.struts3.LoginAction" method="execute"> 
     <result name="SUCCESS">welcome.jsp</result> 
    </action> 
</package> 
</struts> 

directory structure

login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="/struts-tags" prefix="s" %> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Login Page</title> 
</head> 
<body> 
    <h3>Welcome to Struts 2</h3> 
<s:form action="welcome"> 
    <s:textfield name="username" label="User Name"></s:textfield> 
    <s:textfield name="password" label="Password" type="password"></s:textfield> 
    <s:submit value="Login"></s:submit> 
</s:form> 
</body> 
</html> 

welcome.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="/struts-tags" prefix="s" %> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Welcome To Struts</title> 
</head> 
<body> 
    <h3>Welcome <s:property value="username"/></h3> 
</body> 
</html> 

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>Basic Struts2</display-name> 
<welcome-file-list> 
    <welcome-file>/login.jsp</welcome-file> 
</welcome-file-list> 

<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> 
</web-app> 

error message error

+0

Сообщение об ошибке в заголовке и в вопросе отличается. Итак, какой из них вы получаете? Нет такой вещи, как DTD Struts Configuration 3.0'. Покажите свой jsp. –

+0

Да, это должно быть 'DTD Struts Configuration 2.5'. Также я разместил свой jsp – Andy

+0

. Вы не используете S2 '2.5'. Не используйте dtd для '2.5'. Это просто предупреждение. Что-то не работает? –

ответ

1

Файл конфигурацииstruts.xml должен быть на корне пути к классам, то на WEB-INF/classes, а не в подпакетах.

Следует поместить где-то под src и быть скопированы WEB-INF/classes при построении времени вашей любимой наращивания инструмента (Затмение, Ant, Maven, ЕСС).

+0

, поэтому я поставил свой ** struts.xml ** под 'src', но он не справился с ** struts.xml ** в' WEB-INF/classes', и я все равно получаю ту же ошибку. – Andy

+0

Ваш инструмент сборки ДОЛЖЕН скопировать struts.xml из его исходного местоположения ('src/whatever', например' src/main/resources') в 'WEB-INF/classes'. Если это не так, это еще одна проблема, которую вы должны исправить, прежде чем вернуться к этому. Когда он скопирует struts.xml в 'WEB-INF/classes', он должен работать. –

 Смежные вопросы

  • Нет связанных вопросов^_^