0

我对 JS 和 JSP 还很陌生,但是我的 JSP 与 Java 类通信时遇到了麻烦。我不确定是否要使 java 类成为 bean 或 applet 或两者都不是。

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

  • 这两个字符串将用作 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;
}
} 

非常感谢任何和所有帮助!

4

1 回答 1

0

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

于 2013-07-19T17:21:56.700 回答