Java jsp不返回任何结果

Java jsp不返回任何结果,java,jsp,Java,Jsp,存在执行并返回结果的java类 package Test; import static java.lang.System.out; import java.util.ArrayList; import java.util.List; import org.asteriskjava.manager.ManagerConnection; import org.asteriskjava.manager.ManagerConnectionFactory; import org.asteriskjava.

存在执行并返回结果的java类

package Test;
import static java.lang.System.out;
import java.util.ArrayList;
import java.util.List;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.action.CommandAction;
import org.asteriskjava.manager.response.CommandResponse;



public class Manager
{
    private ManagerConnection c;

    public Manager() throws Exception
    {
        ManagerConnectionFactory factory = new ManagerConnectionFactory(
                "tttt", "admin", "ttt");
        c =  factory.createManagerConnection();
    }

    public void run() throws Exception
    {
        c.login();

        CommandAction action;
        CommandResponse response;
        List<String> list = new ArrayList<String>();


        action = new CommandAction();
        action.setCommand(" sip show peers");
        response = (CommandResponse) c.sendAction(action);

        list = response.getResult();
        for (String s : list) {
            if (s.contains("VOIP")) {
            out.print(s);

            }
        }

        c.logoff();
    }

    public static void main(String[] args) throws Exception
    {
        new Manager().run();


    }
}
jsp:



当您在浏览器中调用JSP时,我看到代码被执行(很明显,他冲向服务器并接收数据),但在浏览器的页面上没有显示执行结果。告诉我挖掘的方法。

您需要某种方法来捕获正在构建的字符串,然后将其输出到生成的HTML页面。我已经更新了您的
run
方法,以返回您正在输出的字符串的副本

public class Manager
{
    private ManagerConnection c;

    public Manager() throws Exception
    {
        ManagerConnectionFactory factory = new ManagerConnectionFactory(
                "tttt", "admin", "ttt");
        c =  factory.createManagerConnection();
    }

    public String run() throws Exception
    {
        c.login();

        CommandAction action;
        CommandResponse response;
        List<String> list = new ArrayList<String>();
        StringBuilder sb = new StringBuilder();

        action = new CommandAction();
        action.setCommand(" sip show peers");
        response = (CommandResponse) c.sendAction(action);

        list = response.getResult();
        for (String s : list) {
            if (s.contains("VOIP")) {
            out.print(s);
            sb.append(s);
            }
        }

        c.logoff();
        return sb.toString();
    }

    public static void main(String[] args) throws Exception
    {
        new Manager().run();
    }
}
公共类管理器
{
私人管理连接c;
公共管理器()引发异常
{
ManagerConnectionFactory=新的ManagerConnectionFactory(
“tttt”、“管理”、“ttt”);
c=工厂.createManagerConnection();
}
公共字符串run()引发异常
{
c、 登录();
命令行动;
命令响应;
列表=新的ArrayList();
StringBuilder sb=新的StringBuilder();
action=新命令action();
action.setCommand(“sip show peers”);
response=(CommandResponse)c.sendAction(action);
list=response.getResult();
用于(字符串s:列表){
如果(s.包含(“VOIP”)){
打印出来;
某人追加;
}
}
c、 注销();
使某人返回字符串();
}
公共静态void main(字符串[]args)引发异常
{
新建管理器().run();
}
}
现在更新JSP以在HTML页面上显示字符串,而不是在控制台中

<%@page import="Test.Manager" %>
<%
    Manager o = new Manager();
    String output = o.run();
%>
<%= output %>


我也不建议使用scriplets,但这会让您的代码正常工作。

如果您在浏览器中转到“查看页面源代码”,您会看到号码吗?是的,我会看到源代码。但是一个类的输出是不存在的。你确定它可以编译吗?在你的“跑步”方法中,“出局”来自哪里?大学教师;您不需要从页面向run方法传递“out”吗?另外,在JSP中,您正在执行“out.print(o)”。由于您的Manager类没有toString方法,因此我希望这会输出一些可怕的结果,如“Manager@1befc或者像你说的那样编译和显示“测试”。Manager@6d787352“同意@Bret,如果要输出对象,则需要一个
toString()
public class Manager
{
    private ManagerConnection c;

    public Manager() throws Exception
    {
        ManagerConnectionFactory factory = new ManagerConnectionFactory(
                "tttt", "admin", "ttt");
        c =  factory.createManagerConnection();
    }

    public String run() throws Exception
    {
        c.login();

        CommandAction action;
        CommandResponse response;
        List<String> list = new ArrayList<String>();
        StringBuilder sb = new StringBuilder();

        action = new CommandAction();
        action.setCommand(" sip show peers");
        response = (CommandResponse) c.sendAction(action);

        list = response.getResult();
        for (String s : list) {
            if (s.contains("VOIP")) {
            out.print(s);
            sb.append(s);
            }
        }

        c.logoff();
        return sb.toString();
    }

    public static void main(String[] args) throws Exception
    {
        new Manager().run();
    }
}
<%@page import="Test.Manager" %>
<%
    Manager o = new Manager();
    String output = o.run();
%>
<%= output %>