jquery+struts2 $.post()提交到指定action方法异常

Dacc123 2017-03-02 05:33:22
login.jsp 部分代码:

<INPUT class="ipt" id="name" name="name" type="text" placeholder="请输入用户名或邮箱" value="">
<INPUT class="ipt" id="password" name="passwrod" type="password" placeholder="请输入密码" value="">
<input type="submit" value="登录" onclick="login()">

<SCRIPT>
function login(){
alert("begin");
$.post("LoginAction.action",{"name":$("#name").val(),"password":$("#password").val()},function(data){

alert('ok');},"json");
alert("end");
}
</SCRIPT>

web.xml配置主要代码

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>



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.enable.DynamicMethodInvocation" value="true"></constant>
<package name="user" extends="struts-default, json-default">
<action name="LoginAction" class="com.xml.actions.LoginAction" method="execute">
<result>/bottom.jsp</result>

</action>
</package>
</struts>

LoginAction类代码

package com.xml.actions;
import com.opensymphony.xwork2.ActionSupport;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;

public class LoginAction extends ActionSupport{

private static final long serialVersionUID = 1L;
private String name;
private String password;

public String execute()
{
System.out.println("you have enterd the action");
System.out.println(name+" "+password);

return "success";

}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}



}

导入的Struts包:



运行了之后,根本跳转不到bottom.jsp里面

求解!!!!!


...全文
454 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dacc123 2017-03-06
  • 打赏
  • 举报
回复
我把struts里面的action删掉,然后post里面url是LoginAction.action 就可以传到后台了
Dacc123 2017-03-06
  • 打赏
  • 举报
回复
引用 9 楼 u010223407 的回复:
return SUCCESS吧,这是个常量啊
大写小写不一样吗
Dacc123 2017-03-06
  • 打赏
  • 举报
回复
写了name="success" 可是,我发现sturts 根本拦截不到ajax 发送的请求啊。post里面的url参数设置成和action的类名一样才可以传到后台,否则随便取一个名字,让sturts去拦截,根本不行啊
我爱娃哈哈 2017-03-06
  • 打赏
  • 举报
回复
引用 11 楼 Dacc123 的回复:
写了name="success" 可是,我发现sturts 根本拦截不到ajax 发送的请求啊。post里面的url参数设置成和action的类名一样才可以传到后台,否则随便取一个名字,让sturts去拦截,根本不行啊
不要用引号引起来,直接return SUCCESS就行了
我爱娃哈哈 2017-03-05
  • 打赏
  • 举报
回复
return SUCCESS吧,这是个常量啊
墨笙弘一 2017-03-05
  • 打赏
  • 举报
回复
应该return "*.jsp"
libitum_1 2017-03-03
  • 打赏
  • 举报
回复
这个应该在action里面写json格式的数据 这个action返回的是个页面 jquery如何判断是成功还是失败?
励志小青年11 2017-03-03
  • 打赏
  • 举报
回复
引用 6 楼 jiajing1990_ 的回复:
你的result里面 name="success"
顶,正解
jiajing1990_ 2017-03-03
  • 打赏
  • 举报
回复
你的result里面 name="success"
Dacc123 2017-03-02
  • 打赏
  • 举报
回复
Struts 拦截$.post(action.....)中的action,然后 指向相应的action类,最后根据action类的返回值success来跳转到相应的页面。应该是这样的吧,<result name="success">/bottom.jsp</result> 就是跳转到相应的页面。
Dacc123 2017-03-02
  • 打赏
  • 举报
回复
那先不管struts ,为什么OK都没有
蚂蚁上树 2017-03-02
  • 打赏
  • 举报
回复
这个和你的struts.xml有啥关系啊……
Dacc123 2017-03-02
  • 打赏
  • 举报
回复
OK都没有!我在struts.xml文件里面写了 <result>/bottom.jsp</result>
蚂蚁上树 2017-03-02
  • 打赏
  • 举报
回复
跳转不到bottom.jsp里面? 你请求完了 就弹了个ok 没写跳转的代码啊……

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧