`

DWR简单实现改变一个修改一个按钮上面的值

    博客分类:
  • Dwr
阅读更多

今天写了一个小功能!整合了一下DWR 嘿嘿。

下面开始讲了

 

第一步整合DWR 也就是DWR.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<dwr>
<!-- AJAX技术具体实现 -->
<allow>
<convert match="dk.Help2VO" converter="bean"></convert>
<create creator="new" javascript="Help2" scope="session">
<param name="class" value="dk.Help2"/>
<include method="readValue"/>
<include method="writeProperties"/>
<include method="readProperties"/>
</create>
</allow>
</dwr>

第二步注册dwr 在web.xml里面

 

<?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">


<servlet>
<servlet-name>dwrInvoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>classes</param-name>
<param-value>java.lang.Object</param-value>
</init-param>

<load-on-startup>10</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dwrInvoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

 

第三步:导入DWr.jar,common-logging.jar 这两个 jar包

 

第四步就开始写Hlep2.java

package dk;
import java.io.*;
import java.util.*;


public class Help2 {

public String readProperties(){
Properties props = new Properties();
Help2VO vo2 = new Help2VO();
String allDate ="";
String filePath = "F:\\util\\feedback.properties";
try{
props.load(new FileInputStream(filePath));
allDate = props.getProperty("btValue1")+","+props.getProperty("btValue2")+","+props.getProperty("btValue3")+","+props.getProperty("btValue4");
/* vo2.setBtValue1(props.getProperty("btValue1"));
vo2.setBtValue2(props.getProperty("btValue2"));
vo2.setBtValue3(props.getProperty("btValue3"));
vo2.setBtValue4(props.getProperty("btValue4"));*/
}catch(Exception e){
e.printStackTrace();
}
return allDate;
}

public void writeProperties(String name,String value){

System.out.println("name===="+name);
System.out.println("value===="+value);
Properties props = new Properties();
String filePath = "F:\\util\\feedback.properties";
try{
InputStream fis = new FileInputStream(filePath);
props.load(fis);
fis.close();
OutputStream fos = new FileOutputStream(filePath);
props.setProperty(name, value);
props.store(fos,name);
fos.flush();
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}

/* public static void main(String[] args) {

Help2 p2 = new Help2();
System.out.println(p2.readProperties().getBtValue1());
System.out.println(p2.readProperties().getBtValue2());
System.out.println(p2.readProperties().getBtValue3());
System.out.println(p2.readProperties().getBtValue4());

}*/
}

 

这里的写法与上一篇的读写properties文件写法稍有不同,所以我这里使用的绝对路径,而不是在工程中了。

不过这写都是 问题不大的 稍微改变一下 输入输出流 就可以了!

 

hlep2VO.java

 

package dk;

public class Help2VO {

private String btValue1;
private String btValue2;
private String btValue3;
private String btValue4;

public String getBtValue1() {
return btValue1;
}

public void setBtValue1(String btValue1) {
this.btValue1 = btValue1;
}

public String getBtValue2() {
return btValue2;
}

public void setBtValue2(String btValue2) {
this.btValue2 = btValue2;
}

public String getBtValue3() {
return btValue3;
}

public void setBtValue3(String btValue3) {
this.btValue3 = btValue3;
}

public String getBtValue4() {
return btValue4;
}

public void setBtValue4(String btValue4) {
this.btValue4 = btValue4;
}

}

 

实际上页面上可以使用他 因为我返回的是String类型的 如果你返回的是VO类型的那么这里就需要了 在页面上需要使用JSON去获取vo中 的属性值

我这里开始是 试了一下 不过认为直接传String 然后切割 比较方便 所以就删除了

 

 

index.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type='text/javascript' src='/DwrChangeButtonValue/dwr/interface/Help2.js'></script>
<script type='text/javascript' src='/DwrChangeButtonValue/dwr/engine.js'></script>
<script type='text/javascript' src='/DwrChangeButtonValue//dwr/util.js'></script>
<script>

function test(){
document.getElementById("div1").style.display='block';
var t1 = document.getElementById("t1").value;
}

function b(){
alert("成功");
document.getElementById("div1").style.display='none';
document.getElementById("t2").value=document.getElementById("t1").value;
var name = "btValue1";
var value = document.getElementById("t1").value;
requestHelp(name,value);
}

function requestHelp(name,value){
alert(name+"---->"+value);
Help2.writeProperties(name,value,callback2);
}
function callback2(data){
}
</script>

<script type="text/javascript">
function getBtValue(){
Help2.readProperties(callback);
}

function callback(data){
var data1 = data.split(",");
alert(data1);
for(var i=0;i<data1.length;i++){
document.getElementById('t2').value=data1[0];
}
}
getBtValue();
</script>
</HEAD>

<BODY>
<input type="button" value="12" id='t2'>
<a href="javascript:test()">编辑</a>
<div id="div1" style="display: none">
<input type="text" id="t1">
<input type="button" onclick="b()" value="提交">
</div>
<!--
<input type="button" onclick="getBtValue()" value="测试" >
-->
</html>

 

 

效果:


 

点击编辑按钮


 

向文本框中输入内容:



点击提交


点击确定


 

最后确定

 



修改成功

然后 无论你怎么刷新页面 也是没有关系的 这里就解决了 需要改变按钮的值 而要在被迫在数据库创建一个字段来储存了!

 

 

 

ok 工程我也上传上来!嘿嘿 供大家下载!

  • 大小: 26.7 KB
  • 大小: 37.2 KB
  • 大小: 27.1 KB
  • 大小: 39.9 KB
  • 大小: 44.1 KB
  • 大小: 26.9 KB
分享到:
评论
1 楼 wokuaidaojia 2012-05-20  

相关推荐

    dwr学习笔记

    - **updateUser()** 函数创建一个新的`TabUser`实例,获取表单的值,设置`userId`属性(通常是主键),然后调用`userLogin.update()`,传递新对象和两个回调函数:`handleUpdateUser`(成功时执行)和`...

    SSH框架%2BAjax(运用dwr框架)综合小实例

    在描述中提到的**DWR(Direct Web Remoting)**框架,是AJAX的一种实现,允许JavaScript在客户端与Java在服务器端之间直接通信。DWR简化了AJAX的开发,使得开发者可以方便地调用服务器端的Java方法,就像调用本地...

    javascript实现右下角提示框,支持最小化,最大化,关闭,消息多条翻页

    本项目通过JavaScript实现了这样一个功能丰富的提示框,支持最小化、最大化、关闭以及消息多条翻页。下面我们将深入探讨这个实现涉及到的关键技术和知识点。 首先,我们需要了解JavaScript的基础语法和DOM操作。...

    ajax动态树tree

    在这个项目中,采用了DWR(Direct Web Remoting)、jQuery 1.2.6、Spring和Struts2等技术,构建了一个高效且功能丰富的动态树视图。 **1. DWR(Direct Web Remoting)** DWR是一种在浏览器和服务器之间实现...

    弹出DIV,显示阻挡层

    "弹出DIV,显示阻挡层"是利用JavaScript、DWR(Direct Web Remoting)以及CSS来实现的一种技术,它使得网页可以动态地显示一个浮动窗口,并在窗口弹出时覆盖页面其他部分,提高用户的注意力焦点。 首先,让我们了解...

    EXT2.0中文教程

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

    Ext 开发指南 学习资料

    修改一个grid的ColumnModel和Store A.9.3. 动态为ds添加参数baseParams A.10. 有关tree的一些小问题 A.10.1. 如何选中树中的某个节点 A.10.2. 刷新树的所有节点 A.10.3. 如果取得json中自定义的属性 A.11. 如何使用...

    Ajax技术介绍及应用.pdf

    当用户与页面交互时,如点击按钮或修改表单,Ajax会通过JavaScript捕获这些事件,并在后台向服务器发送请求。服务器接收到请求后,返回所需的数据,而不是整个页面。这样,JavaScript可以根据返回的数据更新页面的一...

    精通JS脚本之ExtJS框架.part2.rar

    最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...

    精通JS脚本之ExtJS框架.part1.rar

    最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...

Global site tag (gtag.js) - Google Analytics