`
tigers
  • 浏览: 34066 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS动态编辑服务端中文编码文本

    博客分类:
  • J2EE
阅读更多
暂且把以下两个JSP文件称呼为 -- post.jsp作为view conponent, save.jsp作为model conponent.

post.jsp

<%@ page contentType="text/html;charset=GBK" %>
<%
  request.setCharacterEncoding("GBK");
%>
<html> 
  <head> 
    <title>Test testing...</title>     
	<script language = "javascript">
      var file = 'Save.txt'; // the txt file should be in the same folder of the jsp file.
	  var content;

      var XMLHttpRequestObject = false; 

      if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
      }
	  
	  function getData(dataSource) 
      {
        if(XMLHttpRequestObject) {
          XMLHttpRequestObject.open("GET", dataSource); 
		  
          XMLHttpRequestObject.onreadystatechange = function() // callback function
          { 
            if (XMLHttpRequestObject.readyState == 4 && 
              XMLHttpRequestObject.status == 200) { 
                content = XMLHttpRequestObject.responseText; 
				document.getElementById('displayDiv').innerHTML = content;
            } 
          } 

          XMLHttpRequestObject.send(null); 
		}
      }
	  
	  function edit() {
	    document.getElementById("displayDiv").style.display="none";
		document.getElementById("editor").style.display="block";
		document.getElementById("editor").value=content;
	  }
	  
	  function save(dataSource) {
	    content = document.getElementById("editor").value;
		document.getElementById("displayDiv").style.display="block";
		document.getElementById("editor").style.display="none";
		saveData(dataSource);
	  }
	  
	  // save data to server side...	  
	  
      function saveData(dataSource) 
      { 
        if(XMLHttpRequestObject) {
          XMLHttpRequestObject.open("POST", dataSource); 
          XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 

          XMLHttpRequestObject.onreadystatechange = function() 
          { 
            if (XMLHttpRequestObject.readyState == 4 && 
              XMLHttpRequestObject.status == 200) { 
                document.getElementById("displayDiv").innerHTML = content ;
            } 
          }
		  
          XMLHttpRequestObject.send("data=" + content);
        }
      }

    </script>
  </head> 

  <body onLoad="getData(file)">
    <H1>Test demo</H1>
    <form>
    <input type = "button" value = "Edit the message" onclick = "edit()"> 
    <div id="displayDiv" style=" "></div>
    <input type="text" id="editor" style="display:none" /><br/>
	<input type="button" value="Submit" onClick="save('Save.jsp')" />
	</form>
  </body> 
</html>


save.jsp

<%@ page import="java.io.*" %>
<%
  String fileName = "Save.txt";
  String path = application.getRealPath("/");
  String data = request.getParameter("data");
  // System.out.println(data);
  data = new String(data.getBytes("ISO-8859-1"),"GBK");
  // System.out.println(data);
  File file = new File(path + fileName);
    
  Writer writer = null;		
  if (file.isDirectory()) {
    return;
  } else {
    try {
	  writer = new OutputStreamWriter(new FileOutputStream(file));
	  writer.write(data);
	  writer.close();
	  //file.close();
    } catch (Exception e) {
      e.printStackTrace();
	}
  }  
  
  //response.sendRedirect("ch02/index.html");
  //response.sendRedirect(data);
%>


这样,在服务端先同目录下,创建一个数据文件Save.txt,以保存前端编辑的文本,从而不需要连接数据库。同时也注意到,如果仅仅把大段的文本保存到DB而并不存在其他结构化数据,也许抛弃DB启用file是一个不错的选择。
分享到:
评论

相关推荐

    基于JavaScript实现快速转换文本语言(繁体中文和简体中文)

    这里笔者介绍一种简单可行的方法,不是在服务端而是利用前端的 JavaScript 就可以切换正体中文。 如下图,我们把切换按钮放在页脚(当然你也可以放置在“导航”或者其他更醒目的位置)。 由于页面假设设定均使用 ...

    js简易版在线编辑器

    JavaScript简易版在线编辑器是一种基于Web的文本编辑工具,它允许用户在浏览器中编写、编辑和查看代码。这种编辑器通常由JavaScript编程语言构建,它提供了基础的代码高亮、语法检查以及简单的运行功能,方便初学者...

    二维码的服务端生成

    二维码(Quick Response Code)是一种二维条形码,用于存储各种信息,如网址、文本、联系人信息等。在服务端生成二维码是常见的应用场景,尤其在移动互联网和物联网领域。服务端生成二维码的优点在于可以动态控制...

    websocketpp服务端demo

    - 发送和接收消息的示例代码,可以是文本、二进制数据或自定义格式。 5. **运行与测试**: - 编译并运行C++服务端程序,确保它能够正常监听和处理连接。 - 打开HTML5静态页面,通过浏览器与服务端建立WebSocket...

    WebSocket服务端程序v160_websocekt即时通讯_

    在开发WebSocket服务端程序时,开发者通常会用到如Node.js的ws库、Java的Jetty或Tomcat WebSocket支持、Python的Flask-SocketIO等库。这些库提供了方便的API,帮助处理连接管理、错误处理和数据编码解码。 在压缩包...

    二维码的服务端生成--

    1. **接收请求**:客户端(如网页、应用程序)发送请求,包含要编码的数据(如URL、文本等)和服务端生成二维码的相关参数(如大小、颜色、纠错级别等)。 2. **数据编码**:服务端根据接收到的数据类型,选择合适...

    二维码的服务端生成 二维码

    2. **可定制性**:可以根据需求动态生成二维码,如包含不同的URL、文本、图片或条码数据。 3. **性能优化**:减轻了客户端的计算负担,尤其是对于低性能设备或移动网络环境。 4. **批量处理**:对于大量二维码的生成...

    安全编码的基本准则,安全编码开发规范。

    * 输出到HTML中的文本部分,必须做编码处理(HTML, URL, JS)。 * 可以使用HttpUtility的相关方法:HtmlEncode,HtmlAttributeEncode,UrlEncode,JavaScriptStringEncode。 四、Cookie 安全 * 不能将敏感数据直接...

    js 导出table为excel/csv/png/txt/doc文件(支持中文)

    可以考虑使用服务端语言(如Node.js)配合`docx`库,或者使用在线API(如Google Docs API)生成DOC文件,然后通过Ajax请求将JavaScript生成的数据发送到服务器进行处理。 7. **第三方库介绍**: - **jspdf**:用于...

    elementsdata文件编辑器1554版.rar

    7. **编码兼容**:考虑到不同系统和语言的编码差异,编辑器应能支持多种字符编码,避免乱码问题。 8. **错误检查与修复**:内置错误检测机制,能识别并提示文件中的错误或不一致,帮助用户修复问题。 9. **自定义...

    CKeditor的图片上传浏览服务端组件-Java版本

    CKeditor是一款广泛使用的富文本编辑器,它提供了丰富的文本格式化功能,使用户在网页上编辑内容时可以如同在桌面应用程序中一样方便。在CKeditor中,图片上传和浏览是其增强用户体验的重要特性之一。Java版本的...

    Android的ssh服务端代码

    在Android平台上,SSH(Secure Shell)服务端代码的实现是一个相对较复杂的任务,因为SSH主要用于提供安全的远程登录和命令行操作,通常与Linux或Unix系统关联。然而,由于Android系统基于Linux内核,因此也可以通过...

    【最新】C++ http post的服务端客户端

    - 描述中提到内容是JSON格式,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在HTTP POST中,JSON常作为请求或响应体的数据格式,用于传递复杂结构...

    视频会议服务端代码

    4. **音视频编码解码**:视频服务器需要支持各种编解码器,如H.264、VP9或AV1进行视频编码,AAC或Opus进行音频编码,以兼容不同的设备和网络条件。 5. **即时通讯(IM)功能**:描述中提到"类似IM的服务器",意味着...

    服务端-web端协议1

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。返回的JSON对象结构如下: ```json { "result": "success/error", "device": { "code": "设备...

    js加载base64图片

    在JavaScript(JS)中加载Base64编码的图片是一种常见的技术,特别是在动态创建或处理图像时。Base64是一种用于将二进制数据转换为文本格式的方法,以便可以在HTML和JavaScript中安全地传递。以下是对这个主题的详细...

    通过JavaScript实现汉字转拼音

    在JavaScript编程语言中,汉字转拼音是一项常见的需求,特别是在处理用户输入、文本分析或本地化应用时。这个小工具提供了一种方法来将汉字转换为其对应的汉语拼音,尽管它的实现可能相对简单,但对于理解基本原理和...

    基于Java的聊天程序,包括服务端和客户端.zip

    在本项目中,我们探讨的是一个基于Java编程语言构建的聊天程序,该程序包含了服务端和客户端的实现。Java作为一种跨平台的编程语言,因其强大的网络功能和丰富的类库,常被用于开发分布式应用程序,如聊天系统。让...

    WebSocket服务端实例

    数据帧可能包含文本或二进制数据,且有相应的编码规则。 5. **错误处理与关闭连接**:WebSocket连接可能会因为网络问题、客户端关闭或服务器主动断开而中断。服务器需要监听错误事件,并在必要时优雅地关闭连接,...

    pdf表单提交-服务端接收处理显示.zip

    PDF表单提交是一种常见的数据交互方式,特别是在企业级应用中,用于收集用户填写的数据并将其发送至服务端进行处理和存储。在这个“pdf表单提交-服务端接收处理显示.zip”压缩包中,包含了实现这一功能的相关资料。...

Global site tag (gtag.js) - Google Analytics