Struts2无法获得携带的参数

在jsp中调用action并携带一个参数,在另一个界面使用 s:if 标签没有办法获得这个参数。
1.这是在调用action时携带一个参数:
图片说明

2.在另一个jsp中判断select的值:
图片说明

3.使用s:debug 标签查看到parameters的值中没有select这个参数,界面判断出来也是select是为null的
图片说明

求问是什么原因

3个回答

请问你后台action是怎么接收这个select参数的?
你在第二个jsp里使用的 #parameter只能用来获取请求中的参数。 如果你在action中有select这个全局变量,并set了值,而且提供了getter方法,那么在jsp中直接
获取不用加前缀。 如果在action中是用 request.setAttribute方法设置的参数,那么在jsp中访问时需要加#request前缀。
parameter:获取请求参数的映射
request:获取请求作用域属性的映射
session:获取会话作用域属性的映射
application:应用程序作用域属性的映射
attr:按照页面,请求,会话,应用程序作用域的顺序,返回第一个出现的属性
ValueStack:返回当前请求的应用程序特定领域的所有数据

参数携带编写错误:window.open("${pageContext.request.contextPath}/CustomerAction_findAllCustomer?select="+ true' ,);

你后台action需要get和set方法接收参数select,然后在跳转页面时带上参数select,页面用#parameters接收即可

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

在struts1.2中,可以用<bean:parameter>获得请求参数,那么在struts2 怎么用标签获得?

struts2无法获取request、session和application属性值

## 今天写作业:前台发送action到后台,利用ActionContext和ServletActionContext获取web资源,分别给request、session和application赋值属性,再返回前台页面,并显示对应的属性值。 ## 输出时无法显示request、session和application属性值。麻烦各位大神帮我看看谢谢。 ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442409_169557.png) ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442419_203928.png) # ParameterAction.java package cn.edu.xmut.action; import java.util.Map; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class ParameterAction extends ActionSupport{ private static final long serialVersionUID = 1L; private String rp; private String sp; private String ap; public String add(){ return Action.SUCCESS; } @SuppressWarnings("unchecked") public String save(){ //1、ActionContext Map requestMap=(Map)ActionContext.getContext().get("request");//获取request的map requestMap.put("param", rp); ActionContext.getContext().getSession().put("param", sp); //获取session的map ActionContext.getContext().getApplication().put("param", ap); //获取application的map //2、ServletActionContext ServletActionContext.getRequest().setAttribute("param", rp); ServletActionContext.getRequest().getSession().setAttribute("param", sp); ServletActionContext.getServletContext().setAttribute("param", ap); return Action.SUCCESS; } //省略getter和setter方法 } # Struts.xml ``` <action name="parameter_add" class="cn.edu.xmut.action.ParameterAction" method="add"> <result name="success">add.jsp</result> </action> <action name="parameter_save" class="cn.edu.xmut.action.ParameterAction" method="save"> <result name="success">save.jsp</result> </action> <action name="parameter)*" class="cn.edu.xmut.action.ParameterAction" method="{1}"> <result name="success">{1}.jsp</result> </action> ``` # add.jsp ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442430_674939.png) # save.jsp ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442445_915944.png) # index.jsp ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442458_195024.png) 谢谢各位大哥了。

struts2在上传文件时获得请求参数的问题

在struts2中可以通过 Map map = ActionContext.getContext().getParameters(); 来获得表单中的数据信息,但当提交的表单格式为enctype=&quot;multipart/form-data&quot;,即在上传文件时通过上面的方式却得不到数据,在不在对应action中声明文件字段的情况下,如何获得struts2已经封装好了的文件及其他字段信息。 在struts2中确实会自动用common-fileupload把要上传的文件先传到服务器上的临时目录,我的问题是怎样在 不在action或实体中声明该字段的情况下获得该上传文件的信息,就像不在form表单中声明enctype="multipart/form-data",但能获得form表单的上传数据:Map<String, Object> map = ActionContext.getContext().getParameters()。 谢谢

struts2xml的Action中result传参数

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

Struts2中如何用Map接收一系列参数?

先说一下我在Struts1中的应用的方法: JSP页面中如下定义两个文本框: [code="html"] <html:text property="condition(ad_nsi_cd_sta)"/> <html:text property="condition(ad_nsi_cd_end)"/> [/code] 在FormBean中如下定义: [code="java"] private Map conditions = new HashMap(); public Object getCondition(String key) { return this.conditions.get(key); } public void setCondition(String key, Object value) { this.conditions.put(key, value); } [/code] 如上所示,参数接收过来,就自动写入了conditions中,形成如下格式: (加入文本框中分别输入了111和222) {(ad_nsi_cd_sta=111),(ad_nsi_cd_end=222)} 等于是自动转换到Map格式,这样的话,之后就可以很方面的处理。 但是在Struts2中如何也能这样实现呢,没有试验成功? 请指教

Struts2中的请求参数

今天第一次用Struts2的自定义Interceptor,结果就卡了... 源于 [code="java"] ActionContext context = invocation.getInvocationContext(); Map<String,Object> parameters = context.getParameters(); Set<String> parameterNames= parameters.keySet(); for(Iterator<String> iter = parameterNames.iterator(); iter.hasNext();){ String parameterName = iter.next(); System.out.println(parameterName + "\t" + parameters.get(parameterName)); }[/code] 这段代码,由上可以发现parameters 的key-value对中 ,value是清一色的 String[]类型...我想知道为什么要这样处理呢 对于单值的参数为什么也要用一个数组来存储,搞得很麻烦 网上通用的做法是 [code="java"] ActionContext context = invocation.getInvocationContext(); HttpServletRequest request = context.get("request"); ... [/code] 这种做法来得到请求参数,但是我想既然用了框架,那不如用最高层...不知道这样从request中取出来的参数是否也都是String[]类型的

struts2 获取参数问题

这是一个action的代码,想获得<param />标签里边的值,(想在GetParams类这中获得) <action name="test" class="com.jh.action.GetParams"> <param name="pagSize">10</param> <result name="success">/index.jsp</result> </action> 怎么样获取?

关于Struts2参数传递问题

想知道如: 客户端: [code="java"] <form> <input type="text" name="a.b.c.d" /> </form> [/code] 这种情况下Action如果接收, 我发现a.b Struts2可以自动接收赋值. 但超过两层以后好像会有问题. 在此虚心请教,望高%手#赐$教! 多谢.

struts2 action跳转到action参数传递问题

&lt;/package&gt;&lt;package name="Sitecolumn" extends="struts-default" &gt; <br /> <br />&lt;action name="List" class="com.system.web.action" method="list"&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="list"&gt;sitecolumnList.jsp&lt;/result&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt; <br /> <br />&lt;action name="Store" class="com.system.web.action" method="store"&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="input"&gt;sitecolumnEdit.jsp&lt;/result&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- 传动态参数siteid到List.action中,如果传静态参数siteid=%{siteid}改为siteid=定值 --&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result type="redirect"&gt;List.action?siteid=${siteid}&lt;/result&gt; <br /> <br />&lt;!-- 传多个动态参数,&lt;&amp;amp;&gt;应该是一转义字符--&gt; <br /> <br />&lt;result type="redirect"&gt;List.action?siteidEdit=${siteidEdit}&amp;amp;siteid=${siteid}&lt;/result&gt; <br /> <br />&lt;/package&gt; <br /> <br /> <br />我想知道&lt;result type="redirect"&gt;List.action?siteid=${siteid}&lt;/result&gt; <br />中的siteid这个值是如何从上一个action传递过来的?麻烦大家给解释一下。

struts2中,action之间传递参数的问题

我现在需要把一个action(action1)中的变量传递到另外的一个action(action2)中,两个action中都定义了属性 String userId,User user,并且定义了相应的getter,setter方法,在struts.xml中配置如下: <action name="action1" class="Action1"> <result name="toLiginIndex" type="redirectAction" > <param name="actionName">Action2</param> <param name="namespace">/</param> <param name="user">${user}</param> <param name="userId">${userId}</param> <param name="test">test</param> </result> <result name="notLogIn">/index_notLogin.jsp</result> </action> 执行时,action2成功调用,但是里面的变量(userId,user)全为null。 为什么? 有帖子说,把type换成“chain”,我换了,还是null。 [b]问题补充:[/b] blareck: 我的两个action中有同名的参数,并且有getter,setter,为什么还是null?

struts2 form提交,对象参数是空字符串而不是null?

struts2 form提交,对象参数是空字符串而不是null?

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,页面之间的跳转,参数获取

当前页面跳转到history页面,想带一个参数date过去,怎么在目标页面(history页面)的action.java类里获取这个参数? <s:a href="/djtu/history"> <s:property value="date" escapeHtml="false" /> <s:param name="dateAction" value="date" /> </s:a>

Struts2提交到后台获取不到值。

页面有多个标签 <input name="obj.attr1" value="${obj.attr1}"/> 且页面有js校验,如果obj.attr长度等于0或者为空则不给提交表单。 后台小概率获取的obj为null。 就是提交时是有值的,后台接收就没有值了。有什么原因会导致出现这种情况? 网络原因吗,还是代码问题?

Struts2的Action调用service的参数类型问题

Struts2的Action中调用service时参数的类型: <br /> <br />1、直接使用Hibernate实体类接收页面表单值,service中直接可以用这个参数调用DAO <br />2、定义一个VO类接收页面表单上的值,在service中将VO的属性copy到Hibernate实体对象中,然后调用DAO。 <br /> <br />不知道上面两种方式不知道哪种比较好?<br/><strong>问题补充</strong><br/>各位大虾 帮&nbsp;&nbsp; 帮忙啊。。。

struts2在配置文件要怎么想转向的url传参数进去啊

struts2中要转向的视图需要带上参数怎么办,怎么把参数从action传给strut配置文件,谁知

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 拦截器栈参数覆盖问题

[code="xml"] <interceptors> <interceptor name="flash" class="com.opensymphony.webwork.interceptor.FlashInterceptor" /> <interceptor-stack name="eventStack"> <interceptor-ref name="scope"> <param name="session">model</param> <param name="key">partialEvent</param> </interceptor-ref> <interceptor-ref name="paramsPrepareParamsStack"/> </interceptor-stack> </interceptors> <default-interceptor-ref name="eventStack" /> <action name="addEventFlow" class="com.fdar.apress.s2.actions.event.BaseEventAction"> <interceptor-ref name="eventStack"> <param name="scope.type">start</param> </interceptor-ref> <result>/WEB-INF/jsp/event/enterEventDetails-input.jsp</result> </action> [/code] addEventFlow中eventStack覆盖了scope的type这个参数,我想请问大家的是,在这里,session参数和key参数还有效么?还是被重置了呢?

请教关于在struts2中传递参数,怎么做,谢谢

我有三个jsp,每个jsp都要填一些字段内容,我现在的做法是在每个jsp的action中将该jsp中的字段存入数据库,但这样存在两个问题,对数据库有压力,另外,在后两个jsp不是很好获得第一个jsp操作数据库时插入新的条目的id,后面就无法对应存入了。 现在,我想jsp1->jsp2>-jsp3,并在jsp3中获得3个jsp的参数,统一将这些 参数 存入数据库,请问如何传参,是否需要三个action呢,谢谢 另外问下,在数据库操作中,比如update xx value(...);之后,如何写SQL语句获得刚刚存入数据库的条目的id呢,谢谢 [b]问题补充:[/b] lovewhzlq 不过三个jsp页面之间的跳转要在同一个请求中跳转 怎么理解 能给出具体的action的配置么,谢谢 [b]问题补充:[/b] 我的前两个jsp表单都很多 [b]问题补充:[/b] lovewhzlq 那是不是三个jsp要请求三次action呀,能给出稍微具体点的配置么,谢谢 [b]问题补充:[/b] 那action的excute方法要执行三次? 可是这样的话我有些值还没传完整呢。。。 [b]问题补充:[/b] 在action中用method配置是么 另外,如果不配置方法,是不是三次执行action就执行三次excute呢 [b]问题补充:[/b] jansel 能具体讲下ScopeInterceptor么,我也想了解,没找到太合适的资源,谢谢 [b]问题补充:[/b] scopeInterceptor 主要起什么作用啊 [b]问题补充:[/b] 我上传了我的工程,数据库也包含在内,不过大家可以把登陆控制取消,改改,要不麻烦 主要有这么几个问题: 1.我在spread.action里面写了4个方法,可是从spread1.jsp->spread2.jsp就会出错,意思是没有input定义,可是我没发现action哪错啦 2.action权限拦截器貌似不起作用,直接进action还是可以,不知道怎么回事 3.登陆页面我启用了<sx:head/>,也配置了验证文件,但貌似无法异步验证,必须提交才行 spread.action [code="java"]package action; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Date; import javax.imageio.ImageIO; import org.apache.struts2.ServletActionContext; import bean.DBUtil; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class Spread extends ActionSupport { private static final long serialVersionUID = 1L; public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getTeachpoint() { return teachpoint; } public void setTeachpoint(String teachpoint) { this.teachpoint = teachpoint; } public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public String getTheme() { return theme; } public void setTheme(String theme) { this.theme = theme; } public String getMedia() { return media; } public void setMedia(String media) { this.media = media; } public String getFullname() { return fullname; } public void setFullname(String fullname) { this.fullname = fullname; } public String getKeyword() { return keyword; } public void setKeyword(String keyword) { this.keyword = keyword; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getIsbn() { return isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public Date getWritetime() { return writetime; } public void setWritetime(Date writetime) { this.writetime = writetime; } public Date getPublictime() { return publictime; } public void setPublictime(Date publictime) { this.publictime = publictime; } public String getLength() { return length; } public void setLength(String length) { this.length = length; } public String getWidth() { return width; } public void setWidth(String width) { this.width = width; } public String getHeight() { return height; } public void setHeight(String height) { this.height = height; } public String getPages() { return pages; } public void setPages(String pages) { this.pages = pages; } public String getColoredpages() { return coloredpages; } public void setColoredpages(String coloredpages) { this.coloredpages = coloredpages; } public String getWeight() { return weight; } public void setWeight(String weight) { this.weight = weight; } public String getMaterial() { return material; } public void setMaterial(String material) { this.material = material; } public String getIntro() { return intro; } public void setIntro(String intro) { this.intro = intro; } public File[] getUpload() { return upload; } public void setUpload(File[] upload) { this.upload = upload; } public String[] getUploadContentType() { return uploadContentType; } public void setUploadContentType(String[] uploadContentType) { this.uploadContentType = uploadContentType; } public String[] getUploadFileName() { return uploadFileName; } public void setUploadFileName(String[] uploadFileName) { this.uploadFileName = uploadFileName; } public String getSavePath() { return ServletActionContext.getServletContext().getRealPath(savePath); } public void setSavePath(String savePath) { this.savePath = savePath; } public String getChennel() { return chennel; } public void setChennel(String chennel) { this.chennel = chennel; } public String getMarketprice() { return marketprice; } public void setMarketprice(String marketprice) { this.marketprice = marketprice; } public String getSaleprice() { return saleprice; } public void setSaleprice(String saleprice) { this.saleprice = saleprice; } public String getAccess() { return access; } public void setAccess(String access) { this.access = access; } private boolean copy(File src, File dst) { InputStream in = null; OutputStream out = null; try { try { in = new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE); out = new BufferedOutputStream(new FileOutputStream(dst),BUFFER_SIZE); byte[] buffer = new byte[BUFFER_SIZE]; int len = 0; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } return true; } finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } catch(Exception e) { e.printStackTrace(); } return false; } private boolean checkSize(File [] files) { BufferedImage image = null; for (int i = 0; i < files.length; i++) { try { image = ImageIO.read(files[i]); } catch(IOException e) { e.printStackTrace(); } String size = null; if (image.getWidth() > 260 || image.getHeight() > 260) { size ="上传图片宽高不能超过260*260"; ActionContext.getContext().put("size",size); return false; } } return true; } private String getRealPath(String imageString) { return getSavePath() + "\\" + imageString; } public String firstStep() { System.out.println(getLanguage()); System.out.println(getTeachpoint()); System.out.println(getLevel()); System.out.println(getType()); System.out.println(getTheme()); return SUCCESS; } public String secondStep() { System.out.println(getMedia()); System.out.println(getFullname()); System.out.println(getKeyword()); System.out.println(getAuthor()); System.out.println(getIsbn()); System.out.println(getWritetime()); System.out.println(getPublictime()); System.out.println(getLength()); System.out.println(getWidth()); System.out.println(getHeight()); System.out.println(getPages()); System.out.println(getColoredpages()); System.out.println(getWeight()); System.out.println(getMaterial()); System.out.println(getIntro()); return SUCCESS; } public String thirdStep() { File [] files = getUpload(); if (!checkSize(files)) return INPUT; for (int i = 0; i < files.length; i++) { imageFileName = new Date().getTime() + uploadFileName[i].substring(uploadFileName[i].lastIndexOf(".")); File imageFile = new File(getSavePath() + "\\" + imageFileName); copy(files[i],imageFile); realPath[i] = getRealPath(imageFileName); } System.out.println(realPath[0]); System.out.println(realPath[1]); return SUCCESS; } public String forthStep() { return SUCCESS; } private String language; private String type; private String teachpoint; private String level; private String theme; private String media; private String fullname; private String keyword; private String author; private String isbn; private Date writetime; private Date publictime; private String length; private String width; private String height; private String pages; private String coloredpages; private String weight; private String material; private String intro; private static final int BUFFER_SIZE = 16 * 1024; private File[] upload; private String[] uploadContentType; private String[] uploadFileName; private String imageFileName; private String savePath; private String [] realPath = new String[2]; private String chennel; private String marketprice; private String saleprice; private String access; } [/code] struts.xml [code="java"]<?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.i18n.encoding" value="UTF-8"></constant> <constant name="struts.custom.i18n.resources" value="property.message" /> <!--不受权限控制的Action请求配置--> <package name="non-authority" extends="struts-default"> <action name="Login" class="action.LoginCheck"> <result name="success">/spread/spread1.jsp</result> <result name="error">/login.jsp</result> </action> </package> <package name="authority" extends="struts-default"> <interceptors> <interceptor name="authority" class="interceptor.AuthorityInterceptor" /> <interceptor-stack name="mydefault"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="authority" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="mydefault" /> <global-results> <result name="login">/login.jsp</result> </global-results> <action name="FirstStep" class="action.Spread" method="firstStep"> <result name="success">/spread/spread2.jsp</result> </action> <action name="SecondStep" class="action.Spread" method="secondStep"> <result name="success">/spread/spread3.jsp </result> </action> <action name="ThirdStep" class="action.Spread" method="thirdStep"> <result name="success">/spread/spread4.jsp </result> <result name="input">/spread/spread3.jsp </result> <interceptor-ref name="fileUpload"> <param name="allowedTypes">image/jpeg,image/pjpeg</param> <param name="maximumSize">204800</param> </interceptor-ref> <param name="savePath">/upload</param> </action> <action name="ForthStep" class="action.Spread" method="forthStep"> <result name="success">/spread/spreadSucc.jsp</result> </action> </package> </struts> [/code] 权限拦截器 [code="java"]public class AuthorityInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 1L; public String intercept(ActionInvocation invocation) throws Exception { ActionContext ctx = invocation.getInvocationContext(); String user = (String)ctx.getSession().get("username"); System.out.print(user); if (user != null) { return invocation.invoke(); } System.out.print(user); ctx.put("tip", "您还没有登录,请登陆系统"); return Action.LOGIN; } }[/code]怎么才能起作用呢,而且tip值怎么显示出来 web.xml [code="java"]<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>SetCharacterEncodingFilter</filter-name> <filter-class>filter.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>SetCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>accessFilter</filter-name> <filter-class>filter.AccessFilter</filter-class> </filter> <filter-mapping> <filter-name>accessFilter</filter-name> <url-pattern>/spread/*</url-pattern> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts-cleanup</filter-name> <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>dwr</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>modelIndex.jsp</welcome-file> </welcome-file-list> </web-app> [/code] 登陆页面 [code="java"]<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <%@taglib prefix="sx" uri="/struts-dojo-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <sx:head/> <title><s:text name="%{getText('loginPage')}" /></title> </head> <body> <div style="color: red"> <s:property value="noUser" /> <s:property value="tip" /> </div> <s:form action="Login" method="post"> <s:textfield label="%{getText('username')}" name="username" value="" cssStyle="width:150px;" /> <s:password label="%{getText('password')}" name="password" cssStyle="width:150px;" /> <sx:submit value="%{getText('login')}" validate="true" /> </s:form> </body> </html>[/code] 谢谢大家

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

实现简单的文件系统

实验内容: 通过对具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。 要求: 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简

MIPS单周期CPU-组成原理实验-华中科技大学

使用logisim布线完成的MIPS单周期CPU,可支持28条指令。跑马灯的代码已经装入了寄存器,可以直接开启时钟运行。

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

基于QT和OpenCV的五子棋实现源码

一个简单的五子棋应用,基于QT和OpenCV的实现源码,通过相邻棋子判断是否获胜,不包含人工智能算法,适合新手入门

Git 实用技巧

这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。

实用主义学Python(小白也容易上手的Python实用案例)

原价169,限时立减100元! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会&nbsp; 【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

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

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

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

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

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

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

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

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

JAVA初级工程师面试36问(完结)

第三十一问: 说一下线程中sleep()和wait()区别? 1 . sleep()是让正在执行的线程主动让出CPU,当时间到了,在回到自己的线程让程序运行。但是它并没有释放同步资源锁只是让出。 2.wait()是让当前线程暂时退让出同步资源锁,让其他线程来获取到这个同步资源在调用notify()方法,才会让其解除wait状态,再次参与抢资源。 3. sleep()方法可以在任何地方使用,而wait()只能在同步方法或同步块使用。 ...

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

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

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

智鼎(附答案).zip

并不是完整题库,但是有智鼎在线2019年9、10、11三个月的试题,有十七套以上题目,普通的网申行测题足以对付,可以在做题时自己总结一些规律,都不是很难

Visual Assist X 破解补丁

vs a's'sixt插件 支持vs2008-vs2019 亲测可以破解,希望可以帮助到大家

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答疑

JavaWEB商城项目(包括数据库)

功能描述:包括用户的登录注册,以及个人资料的修改.商品的分类展示,详情,加入购物车,生成订单,到银行支付等!另外还有收货地址的和我的收藏等常用操作.环境(JDK 1.7 ,mysql 5.5,Ecli

Python数据挖掘简易入门

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

一学即懂的计算机视觉(第一季)

图像处理和计算机视觉的课程大家已经看过很多,但总有“听不透”,“用不了”的感觉。课程致力于创建人人都能听的懂的计算机视觉,通过生动、细腻的讲解配合实战演练,让学生真正学懂、用会。 【超实用课程内容】 课程内容分为三篇,包括视觉系统构成,图像处理基础,特征提取与描述,运动跟踪,位姿估计,三维重构等内容。课程理论与实战结合,注重教学内容的可视化和工程实践,为人工智能视觉研发及算法工程师等相关高薪职位就业打下坚实基础。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/26281 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,但是大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 下载方式:电脑登录https://edu.csdn.net/course/detail/26281,点击右下方课程资料、代码、课件等打包下载

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

快速入门Android开发 视频 教程 android studio

这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

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

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

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行 c# 循环给数组插入数据 c# 多线程死锁的例子 c# 钉钉读取员工排班 c# label 不显示 c#裁剪影像 c#工作进程更新ui
立即提问