2016-06-03 9 views
0

In einer JSP-Seite habe ich eine s: action verwendet, um eine Aktion aufzurufen.Warum wurde s: action nicht jedes Mal ausgeführt?

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>online shop market</title> 
</head> 
<body> 
    <h1>welcome</h1> 
    <s:action name="listallAction" executeResult="true" /> 
</body> 
</html> 

Und hier ist mein struts.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
    "http://struts.apache.org/dtds/struts-2.3.dtd"> 
<struts> 
    <constant name="struts.devMode" value="true" /> 
    <package name="default" namespace="/" extends="struts-default"> 

     <action name="loginAction" class="action.CustomerAction" method="login"> 
     <result name="SUCCESSLOGIN">/welcome.jsp</result> 
     </action> 

     <action name="listallAction" class="action.ItemAction" method="listall"> 
     <result name="SUCCESSLISTALL">/allitems.jsp</result> 
     </action> 
    </package> 
</struts> 

Für leicht zu verstehen, die ich hier einige Code gespeichert. Mein Problem ist: In der ersten Situation, wenn es die loginAction macht, nach erfolgreicher Anmeldung, wird es dieser Seite zugeordnet und ruft die listallAction auf. Die listallAction wurde erfolgreich implementiert und der Inhalt ist auf dieser Seite enthalten. Ich sehe die URL ist http://localhost:8080/XXProject/loginAction. In der zweiten Situation, nachdem ich den tomcat im Browser gestartet habe, habe ich gerade die welcome.jsp-Seite aufgerufen, die URL lautet http://localhost:8080/XXProject/welcome.jsp. Diesmal hat es s: action nicht ausgeführt! Der Server hat mir gesagt: Es ist keine Aktion für Aktionsname listallAction zugeordnet. - [unbekannter Ort] Liegt dieses Problem im Zusammenhang mit dem URL-Pfad? Ich habe einige Informationen über den URL-Pfad gegoogelt und bin mehr darüber verwirrt.

+0

Warum verwenden Sie '' überhaupt? Umleitung von der Begrüßungsseite zu einigen Aktionen und Ergebnisse anzeigen. –

Antwort

0

Lassen Sie mich mich selbst beantworten, irgendwie kalt fühlen ..... Ich habe den Namespace = "/" im s: action-Tag hinzugefügt. Es ist ein Erfolg! Ich frage mich nur, warum s: action den Namespace im Paket in der XML-Datei nicht hinzugefügt hat.

Verwandte Themen