- 浏览: 67573 次
文章分类
最新评论
-
小色帝:
我是天才是打发
Jquery实现的Tabs页 -
小色帝:
小色帝 写道1111而温热
Jquery实现的Tabs页 -
小色帝:
1111而温热
Jquery实现的Tabs页
1,从Action中传值到JSP页面的方法
①在Action中定义一个成员变量,然后对这个成员变量提供get/set方法,在JSP页面就可以取到这个变量的值了。
1)在Action中定义成员变量
//定义一个成员变量
private String message;
//提供get/set方法
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
2)在JSP页面中取值
${message}或者
<s:property value="message"/>
②使用一些Servlet API进行值的存取操作:HttpServletRequest、HttpSession和ServletContext。Struts2对这个三个对象用Map进行了封装,我们就可以使用Map对象来存取数据了。
1)在Action中存值
ActionContext actionContext = ActionContext.getContext(); //get HttpServletRequest
Map<String,Object> request = (Map) actionContext.get("request");
request.put("a", "a is in request");
//get HttpSession
//Map<String,Object> session = (Map) actionContext.get("session");
Map<String,Object> session = actionContext.getSession();
session.put("b", "b is in session");
//get ServletContext
//Map<String,Object> application = (Map) actionContext.get("application");
Map<String,Object> application = actionContext.getApplication();
application.put("c", "c is in application");
//get ServletActionContext.request
HttpServletRequest request=ServletActionContext.getRequest()
request.setAttribute("c2", "test5");
request.put("c3","test6")
//或者直接放入上下文中
ActionContext.getContext().put("d","d is in application");
2)在JSP页面上取值(使用EL表达式)
${a}
${b}
${c}
${d}
${c2}
${c3}
or
${requestScope.a}
${sessionScope.b}
${applicationScope.c}
${actionContext.d}
${requestScope.c2}${requestScope.c3}
or<%=request.getAttribute("d")%> //使用ActionContext.getContext().put("d","d is an application")的情况
附加:ServletContext,ActionContext,ServletActionContext的区别
在ActionContext.getContext().put("a", " test3")后页面上用${a}或<s:property value="#a"/>获得test3的值
#相当于ActionContext. getContext() ,#session.b表达式相当于ActionContext.getContext().getSession(). getAttribute(”b”)
③对于传递list的值,可以使用 actionContext的valueStack来传递值栈
1) 在后台使用Hibernate查询 ,EntityManager 通过createQuery()来getResultList()获得List,将list放入valueStack中
ActionContext.getContext().getValueStack().push(model);
2)在页面上通过<s:iterator>标签遍历list的每条值显示在table上。
<table class="tablelist" >
<thead>
<tr>
<th width="100px;">编号</th>
<th>影片类型</th>
<th>影片名称</th>
<th>发布人</th>
<th>发布时间</th>
<th>审核状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<s:iterator value="recordList" var="o" status="i">
<tr>
<td>${o.id}</td>
<td>${o.name }</td>
<td>${o.type}</td>
<td>${o.updateMember.memberName }</td>
</tr>
</s:iterator>
</tbody>
</table>
2,从前台向后台传递参数
①通过表单传递参数
1)在前端jsp页面设置form表单,确定需要传递的参数name让用户在input中输入,通过点击按钮后submit()提交到后台
<s:form method="post" action="ActivityAction_toUI.action">
<table class="serTable">
<tbody>
<tr>
<td>
<label>活动名称</label>
</td>
<td>
<input type="text" class="serput" name="activityName" placeholder="输入文本"/>
</td>
<td>
<s:submit cssClass="btn1" value="搜索" onclick="submit();" />
</td>
</tr>
</tbody>
</table>
</s:form>
2)点击搜索后activityName会放到HttpServletRequest 中
HttpServletRequest httpReq = ServletActionContext.getRequest();
String s = httpReq.getParameter("activityName");
另外,在后台也可以通过extends ActionSupport 并构建get/set方法在后台获得其值
private String activityName;
public String getActivityName() {
return activityName;
}
public void setActivityName(String activityName) {
this.activityName = activityName;
}
public String list(){
System.out.println(activityName);
}
②通过超链接传递参数
1)前台通过超链接跳转时将参数加到方法的后面
<s:a cssClass="acolor" target="mainBody" theme="simple" action="ActivityAction_info.action?Id=%{Id}&pageNum=%{pageNum}&infot=\"mylittlepony\"" ><img
src="${pageContext.request.contextPath}/images/info.png"
title="查看" /></s:a>
2)后台通过HttpServletRequest 获得超链接后面参数所对应的值
HttpServletRequest httpReq = ServletActionContext.getRequest();
<pre name="code" class="java">Long id= Long.parseLong(httpReq.getParameter("Id"));String s = httpReq.getParameter("infot");
Long pageNum = Long.parseLong(httpReq.getParameter("pageNum"));
①在Action中定义一个成员变量,然后对这个成员变量提供get/set方法,在JSP页面就可以取到这个变量的值了。
1)在Action中定义成员变量
//定义一个成员变量
private String message;
//提供get/set方法
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
2)在JSP页面中取值
${message}或者
<s:property value="message"/>
②使用一些Servlet API进行值的存取操作:HttpServletRequest、HttpSession和ServletContext。Struts2对这个三个对象用Map进行了封装,我们就可以使用Map对象来存取数据了。
1)在Action中存值
ActionContext actionContext = ActionContext.getContext(); //get HttpServletRequest
Map<String,Object> request = (Map) actionContext.get("request");
request.put("a", "a is in request");
//get HttpSession
//Map<String,Object> session = (Map) actionContext.get("session");
Map<String,Object> session = actionContext.getSession();
session.put("b", "b is in session");
//get ServletContext
//Map<String,Object> application = (Map) actionContext.get("application");
Map<String,Object> application = actionContext.getApplication();
application.put("c", "c is in application");
//get ServletActionContext.request
HttpServletRequest request=ServletActionContext.getRequest()
request.setAttribute("c2", "test5");
request.put("c3","test6")
//或者直接放入上下文中
ActionContext.getContext().put("d","d is in application");
2)在JSP页面上取值(使用EL表达式)
${a}
${b}
${c}
${d}
${c2}
${c3}
or
${requestScope.a}
${sessionScope.b}
${applicationScope.c}
${actionContext.d}
${requestScope.c2}${requestScope.c3}
or<%=request.getAttribute("d")%> //使用ActionContext.getContext().put("d","d is an application")的情况
附加:ServletContext,ActionContext,ServletActionContext的区别
在ActionContext.getContext().put("a", " test3")后页面上用${a}或<s:property value="#a"/>获得test3的值
#相当于ActionContext. getContext() ,#session.b表达式相当于ActionContext.getContext().getSession(). getAttribute(”b”)
③对于传递list的值,可以使用 actionContext的valueStack来传递值栈
1) 在后台使用Hibernate查询 ,EntityManager 通过createQuery()来getResultList()获得List,将list放入valueStack中
ActionContext.getContext().getValueStack().push(model);
2)在页面上通过<s:iterator>标签遍历list的每条值显示在table上。
<table class="tablelist" >
<thead>
<tr>
<th width="100px;">编号</th>
<th>影片类型</th>
<th>影片名称</th>
<th>发布人</th>
<th>发布时间</th>
<th>审核状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<s:iterator value="recordList" var="o" status="i">
<tr>
<td>${o.id}</td>
<td>${o.name }</td>
<td>${o.type}</td>
<td>${o.updateMember.memberName }</td>
</tr>
</s:iterator>
</tbody>
</table>
2,从前台向后台传递参数
①通过表单传递参数
1)在前端jsp页面设置form表单,确定需要传递的参数name让用户在input中输入,通过点击按钮后submit()提交到后台
<s:form method="post" action="ActivityAction_toUI.action">
<table class="serTable">
<tbody>
<tr>
<td>
<label>活动名称</label>
</td>
<td>
<input type="text" class="serput" name="activityName" placeholder="输入文本"/>
</td>
<td>
<s:submit cssClass="btn1" value="搜索" onclick="submit();" />
</td>
</tr>
</tbody>
</table>
</s:form>
2)点击搜索后activityName会放到HttpServletRequest 中
HttpServletRequest httpReq = ServletActionContext.getRequest();
String s = httpReq.getParameter("activityName");
另外,在后台也可以通过extends ActionSupport 并构建get/set方法在后台获得其值
private String activityName;
public String getActivityName() {
return activityName;
}
public void setActivityName(String activityName) {
this.activityName = activityName;
}
public String list(){
System.out.println(activityName);
}
②通过超链接传递参数
1)前台通过超链接跳转时将参数加到方法的后面
<s:a cssClass="acolor" target="mainBody" theme="simple" action="ActivityAction_info.action?Id=%{Id}&pageNum=%{pageNum}&infot=\"mylittlepony\"" ><img
src="${pageContext.request.contextPath}/images/info.png"
title="查看" /></s:a>
2)后台通过HttpServletRequest 获得超链接后面参数所对应的值
HttpServletRequest httpReq = ServletActionContext.getRequest();
<pre name="code" class="java">Long id= Long.parseLong(httpReq.getParameter("Id"));String s = httpReq.getParameter("infot");
Long pageNum = Long.parseLong(httpReq.getParameter("pageNum"));
发表评论
-
c3p0代码动态切换数据源
2018-08-06 17:54 1069public class PARPDatasource imp ... -
sql 优化开多个线程跑
2018-07-11 09:54 673select /*+ parallel(8) */ * fr ... -
redis 事物限制频率和获得令牌
2018-07-11 02:50 925package com.dongnaoedu.tony.ser ... -
Redis分布式锁解决抢购问题
2018-07-11 02:39 1325废话不多说,首先分享一个业务场景-抢购。一个典型的高并发问题, ... -
StringWriter 接收异常信息
2018-07-05 18:42 442try { int a=1/0; } catch (E ... -
RedisCacheServiceUtil
2018-06-29 15:06 379package com.paic.icorepnbs.web. ... -
jedis 操作redis
2018-06-26 09:13 366//连接redis ,redis的默认端口是6379 Je ... -
多线程缓存优化思想
2018-06-06 15:33 3591.背景 题库 随机生成N张试卷,每张试卷M个题目,每个题目要 ... -
网络编程之使用HttpClient批量上传文件
2018-05-28 01:12 534网络编程之使用HttpClient批量上传文件(一) 2014 ... -
oracle 正则表达式 替换 ‘’:
2018-05-18 18:04 578select /*+ parallel(8) */ t.na ... -
java web 导出 下拉 excle
2018-05-15 17:03 453@RequestMapping(value = "/ ... -
Java Socket编程
2016-12-28 23:28 334对于Java Socket编程而言,有两个概念,一个是Serv ... -
Java多线程学习(吐血超详细总结)
2016-12-27 17:15 413目录(?)[-] 1.一扩展javalangThread类 2 ... -
JAVA多线程实现的三种方式
2016-12-27 17:16 414Java多线程实现方式主要有三种:继承Thread类、实现Ru ... -
Maven 入门菜鸟教程
2016-12-02 10:02 1173学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门) ... -
Java 读写Properties配置文件
2016-08-22 15:00 399Java 读写Properties配置文件 1.Pro ... -
苟富贵
2013-02-25 09:43 0额梵蒂冈过v梵蒂冈北方多汇报地方环保 -
Request的getParameter和getAttribute方法的区别
2013-01-22 10:01 644HttpServletRequest.getParameter ... -
Eclipse快捷键小结
2012-12-26 11:26 732Eclipse快捷键小结 Eclipse ... -
JAVA去空格
2012-12-20 16:53 651String ccc=” he l l o , w o r l ...
相关推荐
Servlet作为Controller负责接收请求,处理数据,并调用相应的模型层(可能是自定义的Java类)进行业务逻辑处理,最后将结果传递给视图层(可能是JSP页面),展示给用户。 3. **文件存储与管理**:项目的核心在于...
3. **小结**:对整个设计过程进行总结,分析优缺点,提出改进意见。 **结束语**:作者回顾了开发过程,总结了自己的收获和不足,表达了希望通过这次毕业设计提升个人技能,为未来工作打下坚实基础的决心。 这个...
通过本例,我们可以看到JSP与JavaBean的结合可以有效地实现前端界面与后端业务逻辑的分离,提高代码的可维护性和复用性。这种模式在实际开发中非常常见,也是Java Web开发的重要组成部分之一。 总之,在开发基于JSP...
【在线拍卖系统】是一种基于Java Web...以上是【在线拍卖系统】涉及的关键知识点,涵盖从前端用户交互到后端数据库操作的全过程。开发者在构建这样的系统时,需要综合运用多种技术和方法,以提供流畅、安全的拍卖体验。
#### 五、小结 Struts2 支持强大的文件上传功能,这得益于其对 Apache Commons FileUpload 和 Commons IO 库的支持。通过上述步骤,我们可以轻松地实现文件上传功能,并对其进行进一步的定制和优化。掌握这些知识点...
在这个"ssh实践"的项目中,"小结.txt"可能是作者对SSH整合过程中的总结,可能包含了关键配置、遇到的问题及解决方案。而"testSpring源码"可能是作者为了测试Spring功能而编写的代码,可能涵盖了Spring的IoC、AOP、...
3. **网站开发技术**:网站开发语言通常包括HTML、CSS、JavaScript等前端技术,后端可能使用PHP、Java、Python等服务器端语言。开发工具可能涉及IDE(如Visual Studio Code、Eclipse)、文本编辑器(如Sublime Text...
这种方式适用于数据字段较少的情况,每个参数直接对应前端传递过来的键值对中的键。 2. **对象接收** ```java @RequestMapping("stu/add") @ResponseBody public HashMap add(Student stu) { System.out....