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="true" />
<constant name="struts.devMode" value="true" /> <include file="example.xml"/> <package name="json" namespace="/" extends="json-default">
<default-action-ref name="index" />
<action name="login" class="com.blogsystem.action.LoginAction">
<result type="json"></result>
</action>
</package> <!-- Add packages here --></struts>
json:
$.ajax({
type:"POST",
url:"login.action",
dataType:"json",
data:"name=john",
success:function(data){
alert("登陆成功");
}
为什么会报出Could not find action or result
There is no Action mapped for action name login. - [unknown location]
这个问题啊?
<?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="true" />
<constant name="struts.devMode" value="true" /> <include file="example.xml"/> <package name="json" namespace="/" extends="json-default">
<default-action-ref name="index" />
<action name="login" class="com.blogsystem.action.LoginAction">
<result type="json"></result>
</action>
</package> <!-- Add packages here --></struts>
json:
$.ajax({
type:"POST",
url:"login.action",
dataType:"json",
data:"name=john",
success:function(data){
alert("登陆成功");
}
为什么会报出Could not find action or result
There is no Action mapped for action name login. - [unknown location]
这个问题啊?
这是我的HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>后台登陆</title>
<script language="javascript" src="../js/jquery-1.4.2.js"></script>
<style type="text/css">
body{
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #016aa9;
overflow:hidden;
}
.style1 {
color: #000000;
font-size: 12px;
font-family:"微软雅黑";
}
.input1 {
width:105px;
height:15px;
background-color:#292929;
border:solid 1px #7dbad7;
font-size:12px;
color:#6cd0ff;
}
</style>
</head>
<body>
<table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" style="padding:7%">
<tr>
<td>
<table border="0px" width="1003" width="613" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="288" background="../images/login_01.gif"></td>
</tr>
<tr>
<td>
<table height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="../images/login_02.gif" height="78" width="414"> </td>
<td background="../images/login_03.gif" height="50" width="206">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td><span class="style1">用 户</span></td>
<td colspan="2"><input type="text" class="input1" id="adminID" /></td>
<td> </td>
</tr>
<tr>
<td><span class="style1">密 码</span></td>
<td colspan="2"><input type="password" class="input1" id="adminPassword" /></td>
<td> </td>
</tr>
<tr>
<td height="18"><span class="style1">验证码</span></td>
<td height="18"><input type="text" class="input1" style="height:15px; width:50px;" /></td>
<td height="18"><input type="text" class="input1" style="height:15px; width:49px;" value="temp"/></td>
<!-- javascript -->
<script language="javascript">
$(document).ready(function(){
$("#dl").click(function (){
alert("dd");
var adminID = $("#adminID").val();
var adminPassword = $("#adminPassword").val();
$.ajax({
type:"post",
url:"blogsystem/login.action",
dataType:"json",
data:"aaaaaaaaaaaaaaa",
success:function(data){
alert("登陆成功");
}
});
});
});
</script>
<td height="18"><a href="main.html"><img src="../images/dl.gif" width="49" height="18" border="0" id="dl" /></a></td>
</tr>
</table>
</td>
<td background="../images/login_04.gif" height="78" width="383"> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td background="../images/login_05.gif" height="192"> </td>
</tr>
</table>
</td>
</tr>
</table>
<form action="temp.action" method="post">
<input type="submit" value="submit" />
</form>
</body>
</html>
解答ls的问题, json类型的视图,不写的话默认是把Action作为一个对象去返回,如果你要返回Action中的属性, 设置下<param name="root">your attr</param>
There is no Action mapped for action name login. - [unknown location]
<default-action-ref name="index" />
<action name="login" class="com.blogsystem.action.LoginAction">
<result type="json"></result>
</action>
</package>
这里少了 extends="Struts-default" 默认
光只extends ="json-default" 是不行的
可能是Struts处理json的那jar包 具体忘记了
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
type:"post",
url:"blogsystem/login.action",
dataType:"json",
data:"aaaaaaaaaaaaaaa",
success:function(data){
alert("登陆成功");
}
});
=======================================
<package name="json" namespace="/" extends="json-default">
<default-action-ref name="index" />
<action name="login" class="com.blogsystem.action.LoginAction">
<result type="json"></result>
</action>
</package>==========================================
一看就是抄人家的代码,页面中你指定了action的命名空间为blogsystem,在配置文件中你确配置成namespce="/",它怎么找的到呢