㈠ strutrs2 中 如何在jsP页面中的form表格里面写的action名字与struts.xml中的action对应
比如:JSP:<form action="../showknow/info.action" name="from1" method="post">
其中showknow为namespace="/showknow" info为
<action name="info"
class="xxx.xxx" method="info">中的name属性的值
对应的struts.xml:<package name="showknow" extends="default" namespace="/showknow">
<action name="info" class="xxx.xxx" method="info">
<result name="success">
xxx.jsp
</result>
</action>
如果你要在web.xml里配置<url-pattern>的话,那就<url-pattern>*.action</url-pattern>与info.action对应的,用*作通配符,也可以改为*.do,不过就相应改为info.do了
不知我这样回答你能看懂不
㈡ 如何在jsp页面中使用struts2标签
要在jsp中使用struts2.0的标签,首先要在页面使用taglib指令,将struts2的tld文件导入
<%@taglibprefix="s"uri="/struts-tags"%>
struts2的标签主要分为两大类:
UI标签 这个几乎不怎么用就不介绍了
非UI标签
if,elseif和else
<s:iftest="link_type==1">//只有当test的的值为true时,才会执行if语句块里面的内容
文字
</s:if>
<s:elseiftest="link_type==2">
图片
</s:elseif>
<s:else>
-----
</s:else>
迭代标签的使用
iterator描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
<ol>
<s:iteratorvalue="#request.names"status="stuts">
<s:iftest="#stuts.odd==true">//判断取出数据的奇偶性
<li>White<s:property/></li>
</s:if>
<s:else>
<listyle="background-color:gray"><s:property/></li>
</s:else>
</s:iterator>
</ol>
上述代码的显示效果就是相邻的两行颜色是区分开来的
URL地址标签,<s:url>用于生成一个URL地址,可以通过URL标签指定的<s:param>
子元素向URL地址发送请求参数
<s:urlaction="">
<s:paramname=""value=""></s:param>
</s:url>
超链接<ahref>一般和<s:url>标签一起使用,用于带多个参数。
<ahref="
<s:urlaction="">
<s:paramname=""value=""></s:param>
<s:paramname=""value=""></s:param>
<s:paramname=""value=""></s:param>
</s:url>">
链接到...
</a>
set标签,用于将某个值放入指定的范围内。例如application,session等。
<s:setname="user"value="userName"scope=”request”/>
Struts2页面开发中常用标签使用规范:
2.1.通过<inputname="userName"type="text"class=""size="15">
往action中传值,action中要有相应的属性,并提供SET/GET方法。
(在数量少时可以使用request.getParameter(“userName”);)
2.2.在页面显示action传来的数据,使用property标签。需要显示的数据从action中获得。
2.3.往action中的实体对象内传值,使用textfield标签。
2.4.在页面中判断指定值使用<s:if>标签。判断数据从action中获得。
2.5.在页面中需要循环列表显示的数据使用<s:iterator>标签,列表数据从action中获得。
2.6.URL地址和超链接可以使用<ahref>和<s:url>,在传多值时建议<ahref>和<s:url>一起使用
㈢ struts2 action是获取jsp表单传过来的参数采用的原理是什么
在action接收jsp页面来的数据,首先要对其构造,比如get~~,set~~;然后就可以在你的方法里进行赋值(调用set方法)或获取值(调用get方法)。
㈣ JSP+Struts2怎么做递归树形下拉列表
ztree 是个很不错的树状菜单插件! 用得也很普遍, 可以去它官网看下http://www.ztree.me/v3/main.php (适合做系统菜单)
但根据你图中显示, 要做的是下拉菜单中的层级, 那这个很好做!
定义一个很简单的JavaBean: 就两个字段: id, deptName 假设叫Depts
Action中定义全局变量: List<Depts> deptList; 写好get set 方法
取出系统中所有的部门数据, 然后通过递归, 每进一层, 名称前添加2个空格, 然后把这个添加完空格的deptName和id 赋值给一个new Depts()对象, 再把这个对象添加到deptList中, 有多少个添加多少个!
到JSP中只要一个循环就可以得到所有的层级关系.
㈤ struts2中action类怎么获取jsp页面所传递的table中单元格的值(html table)
加入input隐藏域在提交表单前用js取出table中的值赋给input中的域
㈥ struts2的action怎么获取jsp页面的表单值
实现思路:先通过java代码获取到jsp中相应的参数值(可以多次获取到不同的值)
举例:
form中定义:
<input type="text" value="zhangsan1" name ="username"/>
<input type="text" value="23" name ="userage"/>
java中定义:
String age = request.getParameter (“userage”);//获取到jsp中的值
String username= request.getParameter (“username”);//获取到jsp中的值
备注:form中标签字段必须有name属性,否则获取不到。
㈦ struts2的jsp页制作问题
这个不关struts2的事吧,这只不过是JSTL标准标签库里面的一些标签应用,如你里面用到的:<c:if test=""></c:if>相当if,test里是一个boolean类型的表达式,你程序中${not empty TABLE_HEAD}用到的EL表达式,意思是说在pageContext,request,session等对象里的 TABLE_HEAD对应的值是否是空,如果空这个表达式就是true,类似的,<c:forEach var="",items="" varStatus=""></c:forEach>也相当于java中的for循环,其他的你去看EL表达式相关知识,道理都一样的
㈧ struts2 如何在jsp表格中删除一行数据
你在你jsp页面有表格的那一行加入
<td>
<a href="delete.action?ID=<%=rs.getInt("ID")%>" target="_blank">删除</a>
</td>
应该就把id的值传过去了
㈨ struts2获取 jsp表单大量动态生成的文本框,
在解析excel时把数据转换为对象数组(每行转为一个对象);
在页面和action中始终处理的这套对象数组模型;
入库时直接用hibernate循环save就完事了
㈩ struts2怎么提取jsp数据
对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种:
使用转发视图利用request域中储存所需的值
使用重定向时存储数据进入session使其在jsp中可以获得
下面,让我们分先后的讲解这2种方法!
一、转发到jsp:
准备步骤:
jsp页面随时准备使用el表达式获取request中的值,
action中的值分2种,一种是在方法中诞生的,作用域也是方法内;一种是定义为类成员(并带有get,set或者为public),此种方式只需赋值。
2.操作流程:
对于action的类属性,直接为其赋值(例如 message="Test";),然后在jsp页面中使用el表达式取出这个值(${message },直接以类属性名称取值即可,el默认的取值域就是request,struts2会将action的所有带有get,set(这两个方法必须同时有)的属性自动的放入request域中【当然你也可以使用struts的标签库,不推荐】)
对于action中方法中产生的数据,又不想为其在action类中定义对应的成员,我们可以手动的将其存放进入request域中,在struts2中,有2种方式可以将数据存入request中。
(1)一种是通过ActionContext.getContext().put("message",message);直接放入将数据request域中,不获取request本身,获取其
中的Map;
(2)另一种是使用ServletActionContext.getRequest().setAttribute("message",message);直接取得request对象,再使用
request对象的方法setAttribute()方法存入数据!将数据存入request中后,jsp中取值并无差别(同上)!
二、重定向到jsp:
准备步骤:同上!不同处是不管要存入的数据是不是类的属性,我们都必须在方法中进行处理才能将数据存入session,而不能依靠struts2自动帮我们搞定!
操作流程:
不管数据是哪里诞生的,得到数据后!比如为message;同上的第二种情况:也有2中方式将数据存入到session中:
(1)在方法中通过ActionContext().getContext().getSession().put("message",message);首先获取session中的map,再使用Map接口的方法put()存入数据
(2)在方法中通过ServletActionContext().getRequest().getSession().setAttribute("message",message);首先获取session对象,再使用session对象的setAttribute方法将数据存入session域。
最后,不管那种方式将数据存入到session中,我们都可在jsp页面中获取session中的值,例如${sessionScope.message }
三、总结:
不论如何,总是将数据存入tomcat提供的几个存数据的域中(request,session,application),然后在页面通过EL表达式获取即可!