Struts2返回参数问题

因为我刚刚学习Struts2,对Struts2原理不是很了解
Action中的代码:
[code="java"]
private UserInfo user;
private String msg;
public UserInfo getUser() {
return user;
}

public void setUser(UserInfo user) {
    this.user = user;
}

public String login(){
boolean flag=false;
flag=this.userService.isLogin(user);
if(flag){
UserInfo temp=this.userService.getUserByUsername(user.getUsername());
this.setUser(temp);//查询出的temp是有值的
msg="Welcome: "+temp.getUsername();
return "userinfor";
}else{
msg="Invaild username or password";
return "fail";
}
}[/code]
userinfo返回到userinfo.jsp页面
但是回填到页面上却没有
以下是userinfo.jsp代码:
[code="java"]


/s:textfield
/s:textfield
/s:textfield
/s:submit/s:reset
/s:form
[/code]
返回的结果:
在附件中

晕,找到答案了,原来
把name写成value了

2个回答

嗯。标签的属性名错了。。

你的Action中应该提供msg的get方法。

getMsg()

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于struts2返回参数的问题

<p><span>我在拦截器里通过request.getHeader("Referer")获得了浏览器的访问记录,现在在action里想直接调用访问记录的地址予以返回,不知道描述的是否清晰。 </span></p> <p> </p> <p><span>假设有一条这样的访问记录http://localhost:8080/aaa/bbb.action?id=1&amp;name=2</span></p> <p> </p> <p><span>发现如果返回action,带参数的话,在转发之后参数会被去掉,即变成http://localhost:8080/aaa/bbb.action </span></p> <p> </p> <p><span>大家有没有什么办法? 我的配置文件采用了比较山寨的零配置方案,参考了这个文档:<a href="http://%E6%88%91%E5%9C%A8%E6%8B%A6%E6%88%AA%E5%99%A8%E9%87%8C%E9%80%9A%E8%BF%87request.getHeader(%22Referer%22)%E8%8E%B7%E5%BE%97%E4%BA%86%E6%B5%8F%E8%A7%88%E5%99%A8%E7%9A%84%E8%AE%BF%E9%97%AE%E8%AE%B0%E5%BD%95%EF%BC%8C%E7%8E%B0%E5%9C%A8%E5%9C%A8action%E9%87%8C%E6%83%B3%E7%9B%B4%E6%8E%A5%E8%B0%83%E7%94%A8%E8%AE%BF%E9%97%AE%E8%AE%B0%E5%BD%95%E7%9A%84%E5%9C%B0%E5%9D%80%E4%BA%88%E4%BB%A5%E8%BF%94%E5%9B%9E%EF%BC%8C%E4%B8%8D%E7%9F%A5%E9%81%93%E6%8F%8F%E8%BF%B0%E7%9A%84%E6%98%AF%E5%90%A6%E6%B8%85%E6%99%B0%E3%80%82%20%E5%81%87%E8%AE%BE%E6%9C%89%E4%B8%80%E6%9D%A1%E8%BF%99%E6%A0%B7%E7%9A%84%E8%AE%BF%E9%97%AE%E8%AE%B0%E5%BD%95http//localhost:8080/aaa/bbb.action?id=1&amp;name=2%20%E5%8F%91%E7%8E%B0%E5%A6%82%E6%9E%9C%E8%BF%94%E5%9B%9Eaction%EF%BC%8C%E5%B8%A6%E5%8F%82%E6%95%B0%E7%9A%84%E8%AF%9D%EF%BC%8C%E5%9C%A8%E8%BD%AC%E5%8F%91%E4%B9%8B%E5%90%8E%E5%8F%82%E6%95%B0%E4%BC%9A%E8%A2%AB%E5%8E%BB%E6%8E%89%EF%BC%8C%E5%8D%B3%E5%8F%98%E6%88%90http://localhost:8080/aaa/bbb.action%20%E5%A4%A7%E5%AE%B6%E6%9C%89%E6%B2%A1%E6%9C%89%E4%BB%80%E4%B9%88%E5%8A%9E%E6%B3%95%EF%BC%9F%20%20%E6%88%91%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%9F%BA%E6%9C%AC%E9%87%87%E7%94%A8%E4%BA%86%E9%9B%B6%E9%85%8D%E7%BD%AE%EF%BC%8C%E5%8F%82%E8%80%83%E4%BA%86%E8%BF%99%E4%B8%AA%E6%96%87%E6%A1%A3%EF%BC%9Ahttp://www.blogjava.net/goldrain/archive/2009/04/07/264215.html%20%20" target="_blank">http://www.blogjava.net/goldrain/archive/2009/04/07/264215.html</a> </span></p> <p> </p> <p>关于request.getHeader("Referer")这部分,代码与下面类似:</p> <p> </p> <p> </p> <p> </p> <pre name="code" class="java"> public void prepare() throws Exception { if ( request != null ) { String referer = request.getHeader( "Referer" ); logger.debug(this, "prepare()","referer is '%'", referer); if ( referer != null ) { redirect( referer ); } else { redirect( request.getContextPath() ); } }</pre>   <p>不知道描述的是否清楚,盼回复,非常感谢。</p><br /><strong>问题补充:</strong><br />俺的问题解决了,很囧,居然把配置文件中的redirect-action改为redirect就解决了,大家共勉啊,至于为什么我现在还是想不太明白。

struts2xml的Action中result传参数

在jsp页面是通过ajax删除一条数据,提交到action中,然后要在struts.xml中传一个参数返回到页面上,根据这个参数来判断是否删除成功。是要怎么传呢,在页面上又要如何获取到这个参数?

struts 2,ajax返回json的404问题

今天尝试用struts时,发现这样一个问题。 前端ajax发送的请求总是报404。 以下是代码段,请各位看看问题出在哪里。 首先是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="false" /> <constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.devMode" value="true" /> <package name="user" extends="json-default"> <action name="login" class="com.action.UserAction" method="login"> <result type="json" /> </action> </package> </struts> ``` 接下来是前台的js ``` /*登录方法*/ var login = function(){ $.ajax({ url:'login.action', async:false, dataType:'json', data:{ }, success:function(data){ console.log(data); } }); }; ``` 错误信息: > 404 There is no Action mapped for namespace / and action name login 显示的路径为 > http://localhost:8081/family/login.action ![jar包](https://img-ask.csdn.net/upload/201508/11/1439258093_947264.png) 求教问题究竟在哪里 ----------------------------------------------------------------------------------------- 问题已经找到! 本人手残了 把struts.xml写成了Struts.xml 多谢各位了

struts2的重定向刷新页面问题

在这里,我想实现编辑修改行的数据,但是修改完后返回action(已设置重定向)重新查询数据库数据,但是页面的数据显示的还是就数据,没有刷新数据。代码如下图 (1)原页面 ![图片说明](https://img-ask.csdn.net/upload/201706/28/1498611735_642355.png) (2)进行编辑修改 ![图片说明](https://img-ask.csdn.net/upload/201706/28/1498611761_658295.png) (3)**问题出现在这里!**,修改后我设定的是执行action,action实现的是重返数据库查询,已设定 type="redirect",但是页面返回的还是旧数据 ![图片说明](https://img-ask.csdn.net/upload/201706/28/1498611876_916807.png) 下面是struts2的配置文件 (1)修改编辑执行的是这里action,categorySave ![图片说明](https://img-ask.csdn.net/upload/201706/28/1498611958_311067.png) (2) ![图片说明](https://img-ask.csdn.net/upload/201706/28/1498612012_878617.png)

struts2 token重复提交验证 跳转到错误页后如何返回

有一个用户身份认证的表单(页面A),用户输入个人信息后点击提交触发begin.action,认证通过后跳转到另外一个页面(页面B),为防止在此页面B上刷新操作在页面A中的begin.action上加入了token认证,如果出现重复提交会跳转到error.jsp的出错页面。 **问题**:我想在error.jsp中加入一个“返回”链接 ` <a href="javascript:history.go(-1)">返回</a>`,使用户可以回到B页面,但是实际中点击返回后确回到了A页面。不知道有什么办法可以实现解决这个问题,初学者有很多地方都了解的不够深入,还想大家多多指教,谢谢! (ps:有关struts.xml中interceptor和action都没有错误,只是这个页面跳转上面的问题。额... 新人没有金币... 希望出现好心人帮忙解答 不胜感激!!)

struts2返回json格式数据,看看我的问题!!谢谢

已经确定service层无错! action里这么写的: [code="java"]public void checkUserExist() throws Exception{ String param = request.getParameter("param"); // System.out.println("传入的参数值为:"+param); users = new Users(); users.setLoginName(param); //查询该用户名 int c = userService.checkUserHasExist(users); System.out.println(c); if(c!=0){ String info = "该用户名已存在,请重新输入!"; String status = "n"; JSONArray jsonObj = JSONArray.fromObject("[{info:"+info+",status:"+status+"}]"); writeJson(jsonObj.toString()); }else{ JSONArray jsonObj = JSONArray.fromObject("[{info:'该用户名可以使用!',status:'y'}]"); writeJson(jsonObj.toString()); } }[/code] 到页面的时候,直接显示出[quote][{info:'该用户名可以使用!',status:'y'}][/quote] 请问我应该怎么让他只显示,“该用户名可以使用”。 其中的y和n表示数据提交是否正确!n表示提交错误,按说y应该提交正确了,但是还是红色字显示,意思是还是错误,虽然已经判断了是否存在用户名。 我的jquery这么写的: [code="java"]if($(this).attr("ajaxurl")){ var inputobj=$(this); inputobj.attr("valid",tipmsg.c); $.fn.Validform.sn.showmsg(tipmsg.c,settings.tiptype,{obj:inputobj,type:1,sweep:settings.tipSweep},"hide"); $.ajax({ type: "POST", url: inputobj.attr("ajaxurl"), data: "param="+$(this).val()+"&name="+$(this).attr("name"), dataType: "text", success: function(s){ if(s=="y"){ inputobj.attr("valid","true"); errorobj=null; $.fn.Validform.sn.showmsg(tipmsg.r,settings.tiptype,{obj:inputobj,type:2,sweep:settings.tipSweep},"hide"); }else{ inputobj.attr("valid",s); errorobj=inputobj; $.fn.Validform.sn.showmsg(s,settings.tiptype,{obj:inputobj,sweep:settings.tipSweep}); } },[/code] JSP页面如下: [code="java"]<tr> <td width="20%" align="right"> 帐号: </td> <td style="width:205px;"> <input type="text" value="" name="users.loginName" class="inputcss" datatype="s6-18" ajaxurl="<%=basePath %>login/checkUserExist.action" nullmsg="请输入用户名!" errormsg="帐号至少6个字符,最多18个字符,只能是数字字母下划线!" /> </td> <td><div class="Validform_checktip">帐号至少6个字符,最多18个字符</div></td> </tr>[/code] ajaxurl就是要检查的action。 //表单数据是以POST方式提交过来; //注意json数据必须严格按如下格式输出:{"info":"demo info","status":"y"}; //info: 输出提示信息; //status: 返回提交数据的状态,是否提交成功。“y”表示提交成功,“n”表示提交失败,在callback函数里可以根据该值执行相应的回调操作; echo '{ "info":"数据已成功提交!", "status":"y" }'; 这是网上的那个方法,一行代码搞定全站的那个jquery,我现在要用来检查用户名是否存在!!唉 搞了一个周末了!!!求高人

Struts2中请求URL参数不能包含id,否则不能正常访问后台Action的问题

如题,我的action请求参数中如果包含id=xx的信息时就无法进入后台action,页面也会报如下错误:。 <br /> <br />No result defined for action com.xx.system.UserAction and result input <br />The requested resource (No result defined for action com.xx.system.UserAction and result input) is not available <br /> <br />举个例子: <br /> <br />例如请求URL: <br />http://127.0.0.1:8080/xx/userAction!getUserMenu.action?id=23 <br />就会报: <br />No result defined for action com.xx.system.UserAction and result input <br />The requested resource (No result defined for action com.xx.system.UserAction and result input) is not available <br />的错误。 <br /> <br />随便写一个url如: <br /> <br />http://127.0.0.1:8080/xx/userAction!getUserMenu.action?eid=23&amp;hid=22只要URL参数中没有id这个参数都能正常访问 <br />后台Action,不知道大家遇见过这个情况没?<br/><strong>问题补充</strong><br/>问题找到了,我了BaseAction实现了ModelDriven接口,去掉这个接口就正常了,郁闷!<br />但是如果我的确要实现这个接口的话,还不清楚如何解决。<br />还请哪位大侠出来解决一下呀!

struts2中request不能获取jsp页面的参数

jsp页面: <form action="login.action" method="post"> <table width="268" border="0" cellspacing="0" cellpadding="5"> <tr> <td colspan="2" align="center"><h3>用户登录</h3></td> </tr> <tr> <td width="59">用户名:</td> <td width="183"><input type="text" name="aname" /></td> </tr> <tr> <td width="59">密&nbsp;&nbsp;码:</td> <td width="183"><input type="password" name="apass" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="提交"/> <input type="reset" value="重置"/> </td> </tr> </table> </form> Action类: public class LoginAction extends BaseAction{ public String execute(){ String username=this.getRequest().get("aname").toString();//获取用户名 String password=this.getRequest().get("apass").toString();//获取密码 UserDao userdao=new UserDao(); Result result=userdao.queryByName(username, password); if(result.getRowCount()!=0){ this.getSession().put(username, password); return "success"; } return "fail"; } } struts2.xml <package name="default" namespace="/" extends="struts-default"> <action name="login" class="com.mstanford.action.LoginAction" method="execute"> <result name="success">/success.jsp</result> <result name="fail">/error.jsp</result> </action> </package>

struts2 页面的返回值怎么设置多个。。。

** <s:if test="zt==1||zt==0"> <div class="order_1" id="order_1" style="display: block"> <a href="/specialNetWork/special/myorders?zt=${1 }">已完成订单</a><br /> <a href="/specialNetWork/special/myorders?zt=${0 }">未完成订单</a> </div> </s:if>" 现在这个样子的 点2个传送会返回 ZT=1 或者0 我想增加 变成 点其中一个改成 返回 zt=1 zf=0 **

关于struts2.0配置返回页面的问题

struts能不能够动态的指定返回哪张页面?举个例子:比如说,url中带一个参数id,我根据这个id去查,需要返回哪张界面。id有很多,并且数目不固定(会增加),所以没办法在struts的配置文件中枚举。我想了下,用通配符的方式好像是可以实现的,但是跨部门合作,让别人按照这种方式指定文件的路径还是有点蛋疼。。

struts2 关于最后请求的响应?

struts2 在web容器中表现为一个过滤器, 最近想到最后的视图资源怎么返回的,查了很多资料 都说filter不能直接响应只能修改响应,那么struts2最后response.sendredirect()或者转发什么的在什么地方呢? 还是说 filter配合servlet用的时候"标准"用法是修改,但其实是可以直接响应(因为它确实有ServletResponse这个参数...)而struts2没有按照“标准”来???求大神指点

jqgrid struts2整合,jqgrid显示不出数据

[code="java"] $(function() { $("#commonForm").validationEngine(); $("#searchCondition").validationEngine({promptPosition: "centerRight"}); var entry=0; // 物品列表grid var itemGrid=jQuery("#items").jqGrid( { //url : 'findItems', datatype : "json", colNames : [ 'ID', '物品名称', '物品类型', '物品等级', '说明', '显示模型', '掉落时显示模型', '要求等级', '耐力', '智力', '力量', '敏捷', '攻击力', '法术攻击力', '护甲', '魔防', '叠加数量', '物品最大数量', '需求技能', '需求技能等级', '可装备位置', '套装ID', '最大耐久', '是否可购买', '价格', '附加技能', '闪躲', '招架', '格挡', '暴击', '命中', '魔法恢复', '物品品质'], colModel : [ {name:'entry',index:'entry',width:100,sortable:false,hidden:true}, {name:'itemName',index:'itemName',width:120,sortable:false}, {name:'itemClzz',index:'itemClzz',width:100,sortable:false}, {name:'itemLevel',index:'itemLevel',width:70,sortable:false}, {name:'description',index:'description',width:300,sortable:false}, {name:'displayed',index:'displayed',width:'100',sortable:false,hidden:true},//显示模型名称 {name:'displayed2',index:'displayed2',width:'100',sortable:false,hidden:true},//掉落时显示模型名称 {name:'requiredLevel',index:'requiredLevel',width:'70',sortable:false,hidden:false},//要求等级 {name:'stamina',index:'stamina',width:'40',sortable:false,hidden:true},//耐力 {name:'intelligence',index:'intelligence',width:'40',sortable:false,hidden:true},//智力 {name:'strength',index:'strength',width:'40',sortable:false,hidden:true},//力量 {name:'agility',index:'agility',width:'40',sortable:false,hidden:true},//敏捷 {name:'attPower',index:'attPower',width:'40',sortable:false,hidden:true},//攻击力 {name:'spellPower',index:'spellPower',width:'40',sortable:false,hidden:true},//法术攻击力 {name:'armorClass',index:'armorClass',width:'40',sortable:false,hidden:true},//护甲 {name:'defmagic',index:'defmagic',width:'40',sortable:false,hidden:true},//魔防 {name:'stackAble',index:'stackAble',width:'40',sortable:false,hidden:true},//叠加数量 {name:'maxCount',index:'maxCount',width:'80',sortable:false,hidden:true},//物品最大数量 {name:'requiredSkill',index:'requiredSkill',width:'70',sortable:false,hidden:true},//需求技能 {name:'requiredSkillRank',index:'requiredSkillRank',width:'80',sortable:false,hidden:true},//需求技能等级 {name:'inventoryType',index:'inventoryType',width:'70',sortable:false,hidden:true},//可装备位置 {name:'itemset',index:'itemset',width:'60',sortable:false,hidden:true},//套装ID {name:'maxDurability',index:'maxDurability',width:'70',sortable:false,hidden:true},//最大耐久 {name:'canBuy',index:'canBuy',width:'70',sortable:false,hidden:true},//是否可购买 {name:'price',index:'price',width:'40',sortable:false,hidden:true},//价格 {name:'bonusSkill',index:'bonusSkill',width:'70',sortable:false,hidden:true},//附加技能 {name:'dodge',index:'dodge',width:'40',sortable:false,hidden:true},//闪躲 {name:'parry',index:'parry',width:'40',sortable:false,hidden:true},//招架 {name:'block',index:'block',width:'40',sortable:false,hidden:true},//格挡 {name:'crit',index:'crit',width:'40',sortable:false,hidden:true},//暴击 {name:'haste',index:'haste',width:'40',sortable:false,hidden:true},//命中 {name:'magicrestore',index:'magicrestore',width:'70',sortable:false,hidden:true},//魔法恢复 {name:'quality',index:'quality',width:'70',sortable:false,hidden:true}//物品品质 ], multiselect : true, rowNum : 15, // 一个数组用来调整表格显示的记录数,此参数值会替代rowNum参数值传给服务器端。如果为空则不显示,设置格式:[10,20,30] rowList : [ 10, 15, 500, 1000 ], pager : '#pager', sortname : 'entry', viewrecords : true, sortorder : "desc", height : 348, width : 800, caption : "物品列表", // jsonReader的属性 jsonReader : { // 这个元素指明表格所需要的数据从哪里开始 root : "items", page : "page.curPage", // 当前页 total : "page.totalPages", // 总页数 records : "page.totalRecords", // 总记录数 rows : "page.pageSize",// 每页显示的行数 sort : "page.orderBy",// 排序字段 order : "page.order",// 排序方式 // 指明每行的数据是可以重复的,如果设为false,则会从返回的数据中按名字来搜索元素,这个名字就是colModel中的名字 repeatitems : false }, prmNames : { rows : "page.pageSize", page : "page.curPage", total : "page.totalPages", records : "page.totalRecords", sort : "page.orderBy", order : "page.order" } }); itemGrid.jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false}); itemGrid.jqGrid('navButtonAdd','#pager',{ caption: "列选择", onClickButton : function (){ itemGrid.jqGrid('columnChooser'); } }); /** * ----------------------------------初始化各Select------------------ */ createClzz("clzz","subClzz"); createClzz("item_clzz","item_subClzz"); createQuality("item_quality"); createQuality("quality"); /** * ---------------------------------弹出框属性设定------------------- */ //查看的弹出框设置 $("#viewItemDiv").dialog({modal:true, width:480, height:550, minHeight:550, minWidth:480,close:function(){ $("#commonForm").resetForm(); $("#viewItemDiv :text,:radio,#viewItemDiv textarea,#viewItemDiv select").removeAttr("disabled"); $(".formError").remove(); entry=0;; }}).dialog("close"); //导入的弹出框设置 $("#batchAddDiv").dialog({ modal:true, width:480, height:180, minHeight:180, minWidth:480, maxHeight:180, maxWidth:480 }).dialog("close"); /** * ---------------------------按钮相关处理--------绑定各按钮事件---------------- */ //查询按钮 $("#searchButton").click(function() { var param = $("#searchCondition").formSerialize(); var name = $("#searchCondition input:first"); if (name.val() == "") { param = param.replace("item.itemLevel=", "item.itemLevel=-1"); } itemGrid.setGridParam({ page : 1, url : "findItems.action?" + encodeURI(param) }).trigger("reloadGrid"); }); //省略若干 }) [/code] [code="java"] @Action(results = { @Result(type = "json") }, value = "findItems") public String findItems() throws Exception { // jqGrid查询转码-utf-8 Tools.decodeObject(this.item); this.page.init(this.itemService.findTotalRows(item)); System.out.println("shunxu: " + page.getOrderBy() + page.getOrder()); System.out.println("mingzi" + item.getName()); System.out.println("dengji: " + item.getItemLevel()); System.out.println("wupinleixing" + item.getClzz()); System.out.println("wupinzileixing" + item.getSubClzz()); System.out.println("pinzhi" + item.getQuality()); System.out.println("total:" + page.getTotalRecords()); if (this.page.getTotalRecords() != 0) { items = this.itemService.findItemsByCondition(item, this.page.getCurPage(), this.page.getPageSize(), this.page.getOrderBy(), this.page.getOrder()); } return "success"; } [/code] 断点在ACTION中items是得到了值的,但是jqgrid没有数据显示出来。

为什么在struts2中,不可以使用${}输出变量的值?

为什么我每次${}这样输出时都是被当作普通字符串输出的啊? 例如我的action有个变量username的值为someone 当我在页面${username}时,得到的结果是 ${username} 而不是 someone 是不是jsp页面或者web.xml哪里还要设置一下,才会解析${}这个运算符?

struts2 自动封装from 表单问题!

同样一个action,不过就是在URL地址上传入的参数不一样,例如:http://localhost:8080/oa/org.action?select=true; 把这个参数select 做为页面的一个属性,用action 注入方式传入进去,然后同一个action 里边做判断, private boolean select; if(select){ return "select"; } return SUCCESS; 上边就是根据传回不同的字符串,转到相应的jsp页面。问题出现了?????如果URL地址传入select属性,被struts2的action 自己封装后,可以使用,但是被struts2 的 action 封装后,同一个action 中的select 这个属性的值就不在变化了。所以永远也不返回SUCCESS!我想过用两个action ,也就是两个方法做。但达不到想要的效果。请问如何解决这样问题。

Struts2通过json前后台传数据的问题

<p>bean如下</p> <pre name="code" class="java">public class User implements Serializable { private static final long serialVersionUID = 9093919302451530682L; private String name; private String password; }</pre> <p> 前台传得json格式如下</p> <pre name="code" class="js">var date={ "userName":"1111", "password":"2222", "user":{ "name":"3333", "password":"4444" } };</pre> <p> action里</p> <pre name="code" class="java"> public class LoginAction implements Action { private User user; private String userName; private String password; public String execute() throws Exception { System.out.println(userName); //userName值"1111" System.out.println(password); //password值"2222" System.out.println(user.toString()); //user对象为null,这里怎么获取json对象并转User对象 return Action.SUCCESS; } }</pre> <p> json的jar包有:</p> <p> json-lib-2.4-jdk15.jar</p> <p> jsonplugin-0.34.jar</p>

struts 2 VO取不到值

现在做一个项目用Struts2 hibernate spring 开发遇到一个问题 前台Jsp页面都使用的Struts2 标签 标签里用VO传值如 <s:textfiled name=userVo.userName lable="用户名"/> 问题是 表单提交以后action里获得不了VO的值 得到的null 有没有谁遇到过这样的情况帮忙解决一下 谢谢 [b]问题补充:[/b] 1、action中包含了userVo的getter和setter 2、UserVo中包含全部属性的构造方法还有相应的get set 方法 [b]问题补充:[/b] 开始做时是好用的 这几天突然整个项目的VO都不起作用了 添加和修改都失去作用 VO都是null 检查了配置文件也没有多余的配置项 最近也没添加多余的配置 [b]问题补充:[/b] 这是 取几个简单的属性的jsp页面 <s:form action="sqm/checklist/addCheckList" method="post"> <table cellspacing="0" cellpadding="0"> <tr> <th>供应商姓名:</th> <td><s:textfield id="supplierName" name="checVO.supplierName" size="21"/> </td> <th>到货日期:</th> <td><input id="getbaleDate" name="checVO.getbaleDate" size="21"></td> </tr> <tr> <th>报检日期:</th> <td><s:textfield id="inspecDate" name="checVO.inspecDate" size="21"/></td> <th>报检人:</th> <td><s:textfield id="inspecPerson" name="checVO.inspecPerson" size="21"/></td> </tr> <tr> <th>物料代码:</th> <td> <s:textfield id="materialCode" name="checVO.materialCode" size="21"/></td> <th>物料名称:</th> <td><s:textfield id="materialName" name="checVO.materialName" size="21"/></td> </tr> <tr> <th>单位:</th> <td><s:textfield id="unit" name="checVO.unit" size="21"/> </td> <th>数量:</th> <td><s:textfield id="amount" name="checVO.amount" size="21"/></td> </tr> </table> <input type="button" value="保存" class="operBtn" onclick="doSubmit(1)">// 提交到js做判断再提交 <input type="button" value="返回" class="operBtn" onclick="javascript:history.back()"> </s:form> </body> </html> 这是action public class CheckListAction extends ActionSuppert { private CheckListService checkListService;//相应的get set private CheckListVO checVO;//相应的get set //增加检验单 public String addCheckList(){ 调用service层的 save方法 this.checkListService.addCheckList(checVO); return "addCheckList"; } } } } } [b]问题补充:[/b] 用debug 调试VO是null

struts2+juery的 form 提交 问题

我在做strut2+juery的form提交的时候遇到这么一个问题:因为我也没有个form表单,所以我采用 //form提交 $("#datafrom").submit(function(){ $(this).ajaxSubmit({ beforeSubmit:function(){ choiceFirst(); //主产品赋值规格 var value = $("#choicezhu").val(); if($.trim(value) == ""){ alert("请选择规格"); return false; } }, success:function(data){ alert(data); alert(11); var shuju = $("#xiao_buyitem"); shuju.empty(); shuju.append(data); }, url:"<%=basePath %>book/cartAction!addBuyCart", dataType:'script', type:'post' }); return false; }) 上面那种jquery提交方式,提交这个form,我提交成功后在acion中跳转到一个页面,然后我想用这个页面成返回的data然后在赋值到jsp页面中,但是现在functin的data没有返回值,我代码中写的alert都不执行 我不知道怎么做了?请教哈 谢谢了

jsonp跨域访问Struts2后台,获取到的数据没有用callback参数包裹是怎么回事啊?

前端代码: ``` $.ajax({ url:'http://localhost:8080/OA/json/json.action?orgid=aaa&code=00002', dataType:'jsonp', type:"GET", dataFilter:function(json,me){ alert("dataFiter:"+json); }, contentType : "application/json-rpc", jsonpCallback : "call", success : function(response,status,xhr){ alert(response); }, error : function(xhr,errText,errStatus){ alert("error"); } }); ``` 后台配置: ``` <package name="json" namespace="/json" extends="json-default"> <action name="json" class="jsonTest" method="shareInfo"> <interceptor-ref name="json"></interceptor-ref> <result type ="json" name="success"> <param name="noCache">true</param> <param name="contentType">text/html</param> </result> </action> </package> ``` 老是提示:Uncaught SyntaxError: Unexpected token : 从network中看到的response数据是json格式的,在线解析也成功了。

struts 2 action问题

struts 2 action的值是不是放在session中?是的话,怎样在每次重新发起request时把上次action里的值清掉? [b]问题补充:[/b] 不过,我碰到一个问题: 客户端发出一个请求到服务器,服务器执行Action1(Action1里面包含一个变量field1,初始值为null)。执行完Action1后,field1的值变为“123“。然后返回客户端。接着,客户端再次发出一个请求到服务器,服务器再次执行Action1,这是发现field1的初始值为“123“.为什么?怎么解决? [b]问题补充:[/b] To netfork: [quote]楼主不会把action作为单例了吧。。。 如果是基于struts2 + spring,千万不要把action作为单例设定,这样会多线程共享成员变量。[/quote] 我是基于struts2 + spring,能否给多点指导“楼主不会把action作为单例了吧“? ********************* To lovewhzlq: [quote]那是客户端再次发出一个请求里包含了field1的值,struts自动绑定到action里[/quote] 第二次请求应该没有包含field1的值,我的代码是这样的 [code="java"] <A href="<s:url action="courseRetrieve"> <s:param name="courseType">fixed</s:param> <s:param name="actionType">createCourse</s:param></s:url>"> create course </A>[/code] 这个链接没有把field1的值作为参数传过去。 [b]问题补充:[/b] Action的代码是: [quote]public class CourseRetrieveAction extends ActionSupport { .....[/quote] [b]问题补充:[/b] To lovewhzlq: [quote]对了,你的spring配置struts的bean,不能设置为配置单例啊 要设置scope ="prototype"[/quote] 不好意思,小弟刚学struts不是很久,能否弱弱的问下在哪里设置scope ="prototype"?是不是struts.xml里的<action>的属性?谢谢!

定量遥感中文版 梁顺林著 范闻捷译

这是梁顺林的定量遥感的中文版,由范闻捷等翻译的,是电子版PDF,解决了大家看英文费时费事的问题,希望大家下载看看,一定会有帮助的

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

远程工具,免费

远程工具,免费

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

csma/ca和csma/cd的matlab仿真源代码带有详细的注释

csma/ca和csma/cd的matlab仿真源代码带有详细的注释,载波侦听,随意设置节点数,带有炫酷的图形展示效果。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

软件测试入门、SQL、性能测试、测试管理工具

软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、

pokemmo的资源

pokemmo必须的4个rom 分别为绿宝石 火红 心金 黑白 还有汉化补丁 资源不错哦 记得下载

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

无线通信中的智能天线:IS-95和第3代CDMA应用_.pdf

无线通信中的智能天线:IS-95和第3代CDMA应用_.pdf

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

玩转Linux:常用命令实例指南

人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。 本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 --------------------------------------------------------------- 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+700元编程礼包。 &nbsp;

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

MySQL 8.0.19安装教程(windows 64位)

话不多说直接开干 目录 1-先去官网下载点击的MySQL的下载​ 2-配置初始化的my.ini文件的文件 3-初始化MySQL 4-安装MySQL服务 + 启动MySQL 服务 5-连接MySQL + 修改密码 先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置初始化的my.ini文件的文件 ...

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

sql语句 异常 Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your

在我们开发的工程中,有时候会报 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ------ 这种异常 不用多想,肯定是我们的sql语句出现问题,下面...

西南交通大学新秀杯数学建模试题

题目比较难,如果符合大家的口味欢迎大家下载哈,提高你的思维想象能力

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问