JSP与java通信,动态显示html代码

JSP communicating with java and dynamically displaying html code

本文关键字:动态显示 html 代码 通信 java JSP      更新时间:2023-09-26

我对JS和JSP还很陌生,但我的JSP与Java类通信时遇到了问题。我不确定我是想让java类成为bean还是小程序,或者两者都不想。

我有两个来自用户的文本输入。我希望用户输入两个字符串。在用户输入字符串后,我希望他们点击一个按钮并执行以下操作:

  • 这两个字符串将用作java方法的参数。

  • java方法将使用两个字符串作为参数执行

  • 该方法返回一个StringBuffer(我意识到这不是一个JS支持的类)。StringBuffer是HTML代码。

  • 在按钮下方显示从java代码返回的HTML代码并输入

我对代码的尝试如下:

JSP:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Button Pusher</title>
</head>
<body>
<button onclick="myFunction()">Compare</button>
<BR>
<dd>Path 1: <INPUT TYPE=TEXT  NAME="Path1Name" SIZE=20 ID="Path1ID"><BR>
Path 2: <INPUT TYPE=TEXT NAME="Path2Name" SIZE=20 ID="Path2ID"><BR></dd>
<br>
<jsp:useBean id="mybean" class="my.MyBean" scope="session" >
<jsp:setProperty name="mybean" property="path1" value="pathname" />
</jsp:useBean>
<p id="demo"></p>
<script>
function myFunction()
{
var y=5;
var x=y+2;
var demoP=document.getElementById("demo")
var argument1 = document.getElementById("Path1ID")
demoP.innerHTML= "Display html from MyBean.compare(path1,path2) method here";
}
</script>
</body>
</html> 

Java代码:

package my;
public class MyBean {
private String name=new String();
private String path1 = new String();
private String path2 = new String();
public String getPath1() {
    return path1;
}
public String getPath2() {
    return path2;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public void setPath1(String path1) {
    this.path1=path1;
}
public void setPath2(String path2) {
    this.path2=path2;
}
public StringBuffer compare(String path1, String path2) {
    StringBuffer strBuff = new StringBuffer(); 
    strBuff.append("<b>" + path1+"</b>"+"<i>"+path2+"</i>");
    return strBuff;
}
} 

非常感谢您的帮助!

您必须提交表单,然后将参数输入页面。我认为您需要学习一些关于JSP的非常基本的教程。以这种方式使用javascript是不正确的。Javascript和JSP中的Java代码之间没有交互。