当前位置: 代码迷 >> Java Web开发 >> struts属性注射有关问题,待
  详细解决方案

struts属性注射有关问题,待

热度:1085   发布时间:2013-02-25 21:09:24.0
struts属性注射问题,在线等待
我在前台有几个字段,通过ajax提交到action中,在action中有一个实体bean对象,要提交的字段都是这个实体对象的属性,请问struts怎么自动把这些属性通过该对象的setter方法自动注值?实体对象是如下的topic,另外还有一个key,我也希望能通过它的setter方法将其值自动注入,现在的问题,实体对象topic的属性值没有注入,key的值也没有注入。我不知道哪里出错了,拜求各位高人给看一下!谢谢!
Java code
public class TopicAction {    private TopicService topicService = null;    private Topic topic = null;        private String key = null;        private List<File> files;        public void setTopicServoce(TopicService topicService) {        this.topicService = topicService;    }    public Topic getTopic() {        return topic;    }    public void setTopic(Topic topic) {        this.topic = topic;    }    public String getKey() {        return key;    }    public void setKey(String key) {        this.key = key;    }    public List<File> getFiles() {        return files;    }    public void setFiles(List<File> files) {        this.files = files;    }    public TopicAction(){         }        public void post(){            //HttpServletRequest request = ServletActionContext.getRequest();        System.out.println(key);             topicService.pubTopic(topic, files, key);                    }    }

下面是前台代码,其中fid、author、title、content是上面topic对象中的字段,key是单独的字段
 
JScript code
                                            $.ajax({                     url:'forum/postTopic.action',                     type:'post',                     data:                                               { fid:1,author:'ljg',title:'test',content:'content',key:'ko'},                     async :true,                     success:function(data)                     {                                if(data=='success'){                           alert('成功!');                            }                     }                     });


------解决方案--------------------------------------------------------
也可以采用data:{'topic.id':1,'topic.name':'休闲鞋'}由于js中定义对象的属性不能有.的存在所以这里需要用引号,这样的话你aciton中就可以得到topic对象的值了,
  相关解决方案