52,797
社区成员
发帖
与我相关
我的任务
分享
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
%>
<script type="text/javascript" src="<%=path%>/js/jquery-1.8.2.js"></script>
<script type="text/javascript">
//登录
function doLogin() {
var name = $('#loginName').attr('value');
var pw = $('#loginPassword').attr('value');
var url = 'login.action?houseUser.username='+name+'&houseUser.password='+pw;
if (name != null && name!='' && pw != null && pw!='') {
$.ajax({
url: url,
type:'post',
dataType: 'json',
async: false,
error: function(data){
alert("出错"+data);
},
beforeSend: function(data) {
$("#loginButton").attr("disabled", true);
},
success: function(data) {
if(data.user!=null){
$("#msg").html(" <br>");
var html = "欢迎 "+data.user.username+" <label class='ui-green'><input type='button' name='search' value='退 出' onclick='document.location=\"logout.action\"'/></label>";
$("#topLoginDiv").html(html);
}else{
$("#msg").html(data.msg);
$("#msg").css("color","red");
}
$("#loginButton").attr("disabled", false);
}
});
}else{
alert("请输入用户名或密码!");
}
}
</script>
<s:debug></s:debug>
<div id="header" class="wrap">
<div id="logo"><img src="<%=path%>/img/logo.gif" /></div>
<div >
<div id="msg" align="center"> <br></div>
</div>
<div align="right">
<form method="post" id="loginFrom" action="user!login.action">
<div id="topLoginDiv" style="display: inline">
用户名: <s:textfield name="houseUser.username" id="loginName" required="true" size="15"/>
密 码: <s:password name="houseUser.password" id="loginPassword" required="true" size="15"/>
<label class="ui-green">
<input type="button" name="loginButton" id="loginButton" value="登录" onclick="doLogin();" />
</label>
<label class="ui-green">
<input type='button' value='注册' onclick='document.location="<%=path%>/pages/register.jsp"'/>
</label>
</div>
<div style="display: inline">
<label class="ui-green">
<input type="button" name="search" value="发布信息" />
</label>
</div>
</form>
</div>
</div>
package com.pb.web.action;
import java.util.Map;
import com.pb.base.action.BaseAction;
import com.pb.entity.HouseUser;
import com.pb.service.IUserService;
import com.pb.service.imp.UserServiceImpl;
import com.pb.util.Constant;
public class UserAction extends BaseAction {
private HouseUser houseUser;
private IUserService service=new UserServiceImpl();
private String msg;
public String login(){
System.out.println("调用");
if(houseUser!=null){
Map<String, Object> map=service.login(houseUser);
houseUser=(HouseUser) map.get("user");
if(houseUser!=null){
session.put(Constant.LOGIN_USER, houseUser);
msg="true";
return SUCCESS;
}else{
msg=(String) map.get("msg");
}
}
return LOGIN;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public HouseUser getHouseUser() {
return houseUser;
}
public void setHouseUser(HouseUser houseUser) {
this.houseUser = houseUser;
}
}
<?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">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.ui.theme" value="simple"/>
<package name="house-json" extends="json-default">
<action name="login" class="com.pb.web.action.UserAction" method="login">
<result type="json"></result>
<result name="login" type="json"></result>
</action>
</package>
</struts>
可以让我远程瞧瞧吗
另外在struts的配置文件中 <result name="login" type="json"></result> 你的UserAction 哪行是返回的是json
另外在struts的配置文件中 <result name="login" type="json"></result> 你的UserAction 哪行是返回的是json
[quote=引用 6 楼 u010840652 的回复:] [quote=引用 5 楼 xiaofanku 的回复:] 你用什么框架自动从post中给你拼装对象吗:
[quote=引用 5 楼 xiaofanku 的回复:] 你用什么框架自动从post中给你拼装对象吗:
你用什么框架自动从post中给你拼装对象吗:
$.ajax({ url: 'login.action', type:'post', data:{houseUser.username:name,houseUser.password:pw},//or houseUser.username='+name+'&houseUser.password='+pw dataType: 'json', async: false, error: function(data){ alert("出错"+data); }, beforeSend: function(data) { $("#loginButton").attr("disabled", true); }, success: function(data) { if(data.user!=null){ $("#msg").html(" <br>"); var html = "欢迎 "+data.user.username+" <label class='ui-green'><input type='button' name='search' value='退 出' onclick='document.location=\"logout.action\"'/></label>"; $("#topLoginDiv").html(html); }else{ $("#msg").html(data.msg); $("#msg").css("color","red"); } $("#loginButton").attr("disabled", false); }
$.ajax({
url: 'login.action',
type:'post',
dataType: 'json',
data:{"houseUser.username":name,"houseUser.password":pw},
async: false,
error: function(data){
alert("出错"+data);
},
beforeSend: function(data) {
$("#loginButton").attr("disabled", true);
},
success: function(data) {
if(data.user!=null){
$("#msg").html(" <br>");
var html = "欢迎 "+data.user.username+" <label class='ui-green'><input type='button' name='search' value='退 出' onclick='document.location=\"logout.action\"'/></label>";
$("#topLoginDiv").html(html);
}else{
$("#msg").html(data.msg);
$("#msg").css("color","red");
}
$("#loginButton").attr("disabled", false);
}
});
还是出错,而且success: function(data) 这个方法好像也执行了,$("#loginButton").attr("disabled", false);
点击登录后,button按钮变灰色了
$.ajax({
url: 'login.action',
type:'post',
data:{houseUser.username:name,houseUser.password:pw},//or houseUser.username='+name+'&houseUser.password='+pw
dataType: 'json',
async: false,
error: function(data){
alert("出错"+data);
},
beforeSend: function(data) {
$("#loginButton").attr("disabled", true);
},
success: function(data) {
if(data.user!=null){
$("#msg").html(" <br>");
var html = "欢迎 "+data.user.username+" <label class='ui-green'><input type='button' name='search' value='退 出' onclick='document.location=\"logout.action\"'/></label>";
$("#topLoginDiv").html(html);
}else{
$("#msg").html(data.msg);
$("#msg").css("color","red");
}
$("#loginButton").attr("disabled", false);
}