Я создал веб-приложение, которое получает «координаты» JqTree и отправляет эти координаты var POSITIONS
на мой сервер, чтобы получить мой сервлет, который создаст файл, содержащий эти «координаты», однако Я не знаю, как Я собираюсь сделать это сообщение. Не могли бы вы помочь мне?Как я могу связать свой сайт с моим сервлетом?
Заранее спасибо.
Я сделал вид диаграммы прямо ниже, объясняя свою идею.
1 - пользователь изменяет дереву
2 - позиции сразу получили этим кодом
$(document).ready(function() {
var POSITIONS;
//var data is a dynamic JSON file that should be created in the backend.
var data = [{
label: 'node1',
id: 1,
children: [{
label: 'child1',
id: 2
}, {
label: 'child2',
id: 3
}]
}, {
label: 'node2',
id: 4,
children: [{
label: 'child3',
id: 5
}]
}];
$('#tree1').tree({
data: data,
autoOpen: true,
dragAndDrop: true
});
console.log($('#tree1').tree('toJson')); //This will give you the loading jqtree structure.
$('#tree1').bind(
'tree.move',
function(event) {
event.preventDefault();
// do the move first, and _then_ POST back.
event.move_info.do_move();
console.log($(this).tree('toJson')); //this will give you the latest tree.
POSITIONS = $(this).tree('toJson');
alert(POSITIONS);
$.post('http://MyServer', {
tree: $(this).tree('toJson')
});
alert("done"); //this will post the json of the latest tree structure.
}
);
});
3 - Затем он должен быть послан с помощью AJAX
$(function() {
alert("file has been successfully sent");
var data = new FormData();
data.append("custom_css", POSITIONS);
$.ajax({
url: 'myserver',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(response) {
alert("file has been successfully sent");
},
error: function(jqXHR, textStatus, errorThrown) {
alert('ERRORS: ' + textStatus);
}
});
});
4 - И, наконец, получил мой сервлет и сохранить в текстовом файле: Positions.txt
package com.srccodes.example;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorld
*/
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printWriter = response.getWriter();
printWriter.println("<h1>Hello World!</h1>");
String position = "JQTREE POSITIONS";
PrintWriter writer = new PrintWriter("Positions.txt", "UTF-8");
writer.println(position);
writer.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
К сожалению, я не в сети, но я собираюсь попробовать прямо сейчас :) +1 – Kyle
Извините, но я до сих пор некоторые сомнения: 1 - Как получить данные из 'var Positions', 2 - в какую директорию я должен поместить свою страницу в 3 - Должен ли я экспортировать ее в качестве военного файла и поместить ее на свой сервер (не на моем настольном сервере) – Kyle
Скажите мне все, что вам нужно знать о том, что я делаю, я много искал, но никто не говорит о деталях. – Kyle