我有一个编辑器,其中所有用户输入的文本都输入到标签中,现在我想将此数据传递给 servlet。我尝试过使用表单,但是 servlet 端的值显示为 null。
怎么做呢?我想将这些数据放入我的 doget() 中。
JSP
<form method="post" name="divdata" action="mygeco" target="_blank" >
<div id="editor">
User enters some text here
</div></form>
<button type= "button" style="position: absolute; right: 11%; top: 30%;" id="execute" onclick="saveTextAsFile()">Click to execute</button>
<script type='text/javascript'>
function saveTextAsFile()
{
document.divdata.submit();
}
Servlet:
String text = request.getParameter("divdata");
System.out.println(text);
PS:我也尝试过通过网址传递,但这给我带来了更多问题,除了这个之外,请建议是否还有其他方法。
window.open('http://XXX.XX.XXX.XXX:7774/FirstServlet/mygeco?mytxt=' + myDivText,'_top','resizable=yes');
最佳答案
我认为你需要做的是如下:
第一个 - 使用 div 声明您的 ACE 编辑器,如下所示:
<body onload="onloadPage()">
<form method="post" id="divdata" action="mygeco" target="_blank" >
<div id="editor">
User enters some text here
</div>
<textarea id="textArea" ></textarea>
<input type="button" onclick="submitForm()" value="Button"/>
</form>
</body>
第二 - onloadPage() :
function onloadPage()
{
// hide the textArea
document.getElementById('textArea').style.display = "none";
}
第三-submitForm():
function submitForm() {
var editor = ace.edit("editor");
var code = editor.getSession().getValue();
document.getElementById('textArea').style.display = "block";
document.getElementById('textArea').value=code;
document.getElementById("divdata").submit();
}
第四 - 获取 servlet 中的值:
String textArea=request.getParameter("textArea");
请给我反馈。
希望有帮助。
关于java - 将 <div> 数据传递给 servlet (ACE - EDITOR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21929436/