<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="link" class="com.Sshexample">
<%= link.callconst()%>
</jsp:useBean>
</body>
</html>
我想从jsp调用.java文件。 callconst是一个调用类的构造函数的函数?我想在单击一个按钮时调用.java文件,所以我想把一个jsp转发给另一个jsp调用.java
package com;
import com.jscape.inet.ssh.*;
import com.jscape.inet.ssh.util.SshParameters;
public class Sshexample implements SshListener {
// state of SSH connection
private boolean connected = false;
/**
* Creates a new SshExample instance.
*
*/
public Sshexample() {
Ssh ssh = null;
try
{
// create new Ssh instance
SshParameters params = new SshParameters("i210","ashishga","Linux_11");
System.out.print("Unix server is connected ");
ssh = new Ssh(params);
// register to capture events
ssh.addSshListener(this);
System.out.println("Connecting please wait...");
SshScript script = new SshScript(ssh);
SshTask task = new SshTask("$","./call.sh","$");
// connect
script.addTask(task);
ssh.connect();
while(!script.isComplete()) {
Thread.sleep(100);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(connected) {
ssh.disconnect();
}
} catch(Exception e) {
}
}
}
/**
* Captures SshConnectedEvent
*/
public void connected(SshConnectedEvent ev)
{
System.out.println("Connected: " + ev.getHost());
connected = true;
System.out.println("New ashish is connected to server "+ ev.getHost());
}
/**
* Captures SshDataReceivedEvent
*/
public void dataReceived(SshDataReceivedEvent ev) {
ev.getData();
}
/**
* Captures SshDisconnectedEvent
*/
public void disconnected(SshDisconnectedEvent ev) {
System.out.println("ashish server is Disconnecting: " + ev.getHost());
connected = false;
}
/*
* Main method for SshExample
*/
public void callconst()
{
Sshexample t = new Sshexample();
}
}
ERROR:
javax.servlet.ServletException:
java.lang.NoClassDefFoundError: com/jscape/inet/ssh/SshListener
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
答案 0 :(得分:1)
在 com.Sshexample.java 类中创建属性 callconst 及其setter getter 如下面的代码。
package com;
public class Sshexample {
private String callconst = "DEAFULT DATA TO DISPLAY";
public String getCallconst() {
return callconst;
}
public void setCallconst(String callconst) {
this.callconst = callconst;
}
}
Access the property like below code.
<jsp:useBean id="link" class="com.Sshexample" scope="request">
</jsp:useBean>
<html>
<body>
Data from java class :: <jsp:getProperty name="link" property="callconst"/>
</body></html>
访问java类的另一种方法是在scriptlet的帮助下让我编写代码
<%@ page import="com.Sshexample" %>
<%
Sshexample obj = new Sshexample();
String dataTodisplay = obj .getCallconst();
%>
<html>
<body>
Data from java class :: <%=dataTodisplay%>
</body></html>