在点击一个链接后,显示一个弹出层,但是在弹出层中需要显示从后台取出的数据,这个怎么实现。我试了N种方法,都不能实现,都是因为调用了后台的action导致页面的重新刷新失败,求解决办法。
解决方案 »
- 如何过滤string中的<P>等html标签
- 求助:用Runtime的exec方法执行svn的备份命令,命令执行完毕,但是并没有在相应的目录下生成备份文件?
- 在线等!!~~“No action instance for path /×× could be created”问题。。
- 怎样设置mysql开机不自动启动?
- Tomcat 突然启动出错!!
- 怎样连接字符串??
- 上传文件??各位大虾帮助下,急啊
- 谁可以教我eclipse?|
- 请教:如何将Tomcat服务器端的输出信息输入到一log文件中
- 盼诸位帮忙!!!托普对软件工程师待遇如何?用人机制怎么样?是不是有项目才招人,,项目结束就走人?
- org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: Use
- Statement.excuteQuery()方法中怎么执行多条MySQL语句???
你可以将当前页面的数据当参数传到弹出层,然后在弹出层再把接受到的参数又当做参数传回原来的页面,有点复杂,但绝对可以实现。用ajax就非常简单了,楼主也不用专门花时间研究,jquery的ajax方法很简单的,就相当于java api中的一个类的一个方法一样,找个教程或者文档,做出一个例子来基本上就回了
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONObject;import org.apache.struts2.ServletActionContext;public class TestAction {
private Entity entity = new Entity(); public TestAction() { } public String execute() {
entity.setName("显示信息OK!");
entity.setPassword("Helllo");
// HttpServletResponse response = ServletActionContext.getResponse();
System.out.println("执行了Action");
Map map = new HashMap();
map.put("name", entity.getName());
map.put("password", entity.getPassword()); JSONObject jsonObject = JSONObject.fromObject(map); System.out.println(jsonObject.get("name"));
System.out.println(jsonObject.get("password"));
return "SUCCESS";
} // try {
// response.setCharacterEncoding("utf-8");
// PrintWriter out = response.getWriter();
// out.print(entity);
// } catch (IOException e) {
// e.printStackTrace();
// }
public Entity getEntity() {
return entity;
} public void setEntity(Entity entity) {
this.entity = entity;
}
}class Entity {
private String name;
private String password; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} // ////////////////////
public static void main(String[] args) {
new TestAction().getSName();
}
}struts.xml配置文件<struts>
<package name="struts2" extends="json-default">
<action name="test" class="com.struts2.action.test.TestAction">
<result type="json">
<param name="OK">
jsonObject
</param>
</result>
</action>
</package>
</struts> JSP页面<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Jquery遮罩层</title> <style type="text/css">
#BgDiv {
background-color: #e3e3e3;
position: absolute;
z-index: 99;
left: 0;
top: 0;
display: none;
width: 100%;
height: 1000px;
opacity: 0.5;
filter: alpha(opacity = 50);
-moz-opacity: 0.5;
}#DialogDiv {
position: absolute;
width: 400px;
left: 50%;
top: 50%;
margin-left: -200px;
height: auto;
z-index: 100;
background-color: #fff;
border: 1px #8FA4F5 solid;
padding: 1px;
}#DialogDiv h2 {
height: 25px;
font-size: 14px;
background-color: #8FA4F5;
position: relative;
padding-left: 10px;
line-height: 25px;
}#DialogDiv h2 a {
position: absolute;
right: 5px;
font-size: 12px;
color: #000000
}#DialogDiv .form {
padding: 10px;
}#DialogDiv2 {
position: absolute;
width: 400px;
left: 50%;
top: 50%;
margin-left: -200px;
height: auto;
z-index: 100;
background-color: #fff;
border: 1px #8FA4F5 solid;
padding: 1px;
}#DialogDiv2 h2 {
height: 25px;
font-size: 14px;
background-color: #8FA4F5;
position: relative;
padding-left: 10px;
line-height: 25px;
}#DialogDiv2 h2 a {
position: absolute;
right: 5px;
font-size: 12px;
color: #000000
}#DialogDiv2 .form {
padding: 10px;
}#DialogDiv3 {
position: absolute;
width: 400px;
left: 50%;
top: 50%;
margin-left: -200px;
height: auto;
z-index: 100;
background-color: #fff;
border: 1px #8FA4F5 solid;
padding: 1px;
}#DialogDiv3 h2 {
height: 25px;
font-size: 14px;
background-color: #8FA4F5;
position: relative;
padding-left: 10px;
line-height: 25px;
}#DialogDiv3 h2 a {
position: absolute;
right: 5px;
font-size: 12px;
color: #000000
}#DialogDiv3 .form {
padding: 10px;
}
</style>
<script language="javascript" type="text/javascript"
src="js/jquery-1.4.2.js"></script>
<script language="javascript" type="text/javascript">
function ShowDIV(thisObjID) {
var entity = {
"$userName" : val(),
"$userPassword" : val()
};
$.ajax({
url : 'test.action',
method : 'post',
data : entity,
success : function(data) {
$('#name').val(entity.userName);
$('#password').val(entity.userPassword);
},
error : function() { }
});
$("#BgDiv").css({
display : "block",
height : $(document).height()
});
var yscroll = document.documentElement.scrollTop;
$("#" + thisObjID).css("top", "100px");
$("#" + thisObjID).css("display", "block");
document.documentElement.scrollTop = 0;
}
function closeDiv(thisObjID) {
$("#BgDiv").css("display", "none");
$("#" + thisObjID).css("display", "none");
}
</script>
</head> <body>
<div id="BgDiv"></div> <!--遮罩层显示的DIV1-->
<div id="DialogDiv" style="display: none">
<h2>
弹出层
<a href="#" id="btnClose" onclick="closeDiv('DialogDiv')">关闭</a>
</h2>
<div class="form">
我是弹出对话框111111!!
<br>
<form action="test.method.action">
<input type="text" name="entity.name" id="name">
<br>
<input type="text" name="entity.password" id="password">
<br>
<input type="submit">
</form>
</div>
</div> <!--遮罩层显示的DIV2-->
<div id="DialogDiv2" style="display: none">
<h2>
弹出层
<a href="#" id="btnClose2" onclick="closeDiv('DialogDiv2')">关闭</a>
</h2>
<div class="form">
我是弹出对话框2222!!
<br>
<input type="text" id="name">
</div>
</div> <!--遮罩层显示的DIV3-->
<div id="DialogDiv3" style="display: none">
<h2>
弹出层
<a href="#" id="btnClose3" onclick="closeDiv('DialogDiv3')">关闭</a>
</h2>
<div class="form">
我是弹出对话框3333333!!
<s:property value="name" />
</div>
</div>
<p> <input value="弹出遮罩层1" type="button" id="btnShow1"
onclick="ShowDIV('DialogDiv')" />
<!-- <input value="弹出遮罩层2" type="button" id="btnShow2"
onclick="ShowDIV('DialogDiv2')" />
<input value="弹出遮罩层3" type="button" id="btnShow3" onclick="ShowDIV('DialogDiv3')" />
<form action="testAction.action">
<input id="button" type="submit" >
</form>
<a href="#" onclick="ShowDIV('DialogDiv3')"> 打开对话框 </a> -->
</body>
</html>点击了打开对话框,但是后台没有数据显示出来,是不是JSON没有获取到。帮我看哈,各位大侠。