关于strut2+ajax传参问题

action中:
/**
* 判断用户是否存在
* @return
* @throws Exception
*/
public String findByName() throws Exception {
List userlist = adminService.searchStudent(username);
System.out.println(userlist.size()+username);
java.util.Map map = new HashMap();
if(userlist.size() > 0){
this.message = "exist";
map.put("message",message);
map.put("success", true);
json = JSONObject.fromObject(map);
}else{
map.put("success", false);
}
return SUCCESS;
}

配置文件中:
<!-- 判断用户是否存在 -->
    <action name="findByName" class="com.lb.action.AdminAction"
        method="findByName">
        <result type="json">
            <param name="root">json</param>
        </result>
    </action>

            /*判断用户是否存在*/
    function findByName(){
        $.ajax({
            url:'findByName.action',
            data:{username:$("#username").val()},
            type:'post',
            dataType:'json',
            success:function(data){
                var dataObj=eval("("+data+")");
                if('exist' == dataObj.message){
                    $.messager.alert('提示','该用户已存在','error');
                }else{
                    $.messager.alert('提示','该用户可使用','info');
                }
            },
            error:function(){
                $.messager.alert('提示','异常','info');
            }
        });
    }


    问题:我只想传message  前台判断('exist' == dataObj.message),但是就是不行,求高手解答

if('exist' == dataObj.message)
->
if(dataObj.success)

另外检查下struts2的配置
http://kingxss.iteye.com/blog/1622455

要返回json的话那个action返回值应该是void吧,然后用输出流返回json字符串就好了

直接把message传到前台就好了,,为什么非得用map装起来,,然后又转成json,,这不是做多余的事吗

  <result type="json">
            <param name="root">message</param>
        </result>