struts2用最新的包就报错

输入页index.jsp
[code="java"]<%-- 使用Struts2标签库 --%>

<%@ taglib prefix="s" uri="/struts-tags" %>





Hello World :: Struts2



<%-- 创建一个提交地址为名为helloworld的Action的表单 --%>

<%--    
创建一个文本域,表单提交后,该文本域的值会自动填充到   
helloworld对应的Action对象的userName属性上   
--%>   
<s:textfield name="userName" label="User Name"/>   

<%-- 创建一个提交按钮 --%>   
<s:submit/>   

/s:form



[/code]

对应的action

[code="java"]public class HelloWorld{
private String userName;

private String message;

public String execute() throws Exception{
    setMessage("hello," + getUserName());
    return "SUCCESS";
}

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public String getUserName() {
    return userName;
}

public void setUserName(String userName) {
    this.userName = userName;
}

}[/code]

struts.xml

[code="java"]<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"

"http://struts.apache.org/dtds/struts-2.1.dtd">







/success.jsp





[/code]

web.xml

[code="java"]<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


struts2
org.apache.struts2.dispatcher.FilterDispatcher


struts2
/*


index.jsp

[/code]

我一访问就说找不到action,第一次写struts2的代码,实在找不到原因呢,报错信息:
[color=red]警告: Could not find action or result
There is no Action mapped for namespace / and action name . - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)[/color]

8个回答







/success.jsp





把index.jsp 和 success.jsp 放到webroot下面,就可以了

[color=cyan] [/color]

使用firebug查看你完整的访问路径,web开发多使用firebug

lz不认真呀,页面直接放在web-inf下面怎么能直接访问呢

像楼上说的:
[quote]把index.jsp 和 success.jsp 放到webroot下面,就可以了[/quote]
这样就好了,作者可能没理解
[code="java"]


index.jsp



[/code]和[code="java"]/success.jsp [/code]
这两段配置的路径含有,这两种都是以应用的上下文目录为相对目录的,就是WEB-INF的父目录。
一般来说,你只需要把index页面放到上下文目录,而其他经Action返回的jsp应该放到WEB-INF下面,这样可以避免用户直接访问jsp。

兄弟 我下载了你的代码 试了一下。你的web.xml里面不是配置了
[code="xml"]

struts2
.action

[/code]
换成.action的 而不是/*
2,webinf下面的页面是直接访问不到的 只有通过forward跳转才可以。所以你把你的首页放入到外面来

你假如还没搞定 我把我给你的该过的例子发给你吧

哦 你的index页面里面用了struts2标签的 所以还得按照/*来配置,我现在改动了一下你的项目 跑起来了。我的改动步骤如下:
1,把index.jsp这个页面提到webroot下面。
2,把你的struts.xml改成如下
[code="xml"]






/WEB-INF/success.jsp







[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问