有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jsp上java调用bean方法

我试图调用一个方法,该方法连接jsp文件上的Bean
该方法将向RMI服务器发出请求并返回字符串
此时,方法只是返回一个预定义的字符串进行测试

这是bean方法:

public String getListProjects() throws RemoteException {

    this.dataToSend = new Object[2];
    this.dataToSend[1] = 0;

    this.postCard = new ClientRequest("2", this.dataToSend, "tempo");

    try{
      this.postCard = this.connectToRMI.getActualProjects(this.postCard);
    }catch(Exception e){
      e.printStackTrace();
    }

    return "Hello";

}

这是jsp代码:

<h1>Projectos Actuais</h1>

<h2><%

    fundstarter.model.ConnectToRMIBean aux = new       fundstarter.model.ConnectToRMIBean();
    try{
        aux.getListProjects();
    }catch(Exception e){
        e.printStackTrace();
    }

    %>
</h2>

我从另一个代码中引导自己,方法的调用如下。但在我的情况下,它不起作用,我不知道是什么错了


共 (4) 个答案

  1. # 1 楼答案

    根据Struts的流程,beanclass中应该有与getter&;同名的字段;塞特。例如,如果方法名为GetListPorObjects,那么在bean类中应该有一个私有字符串变量名listprojects

    此外,您的方法将更新为以下返回listprojects的方法

    例如:

    public String getListProjects() throws RemoteException {
    
        this.dataToSend = new Object[2];
        this.dataToSend[1] = 0;
    
        this.postCard = new ClientRequest("2", this.dataToSend, "tempo");
    
        try{
          this.postCard = this.connectToRMI.getActualProjects(this.postCard);
          listprojects = "hello"
        }catch(Exception e){
          e.printStackTrace();
        }
    
        return listprojects;
    
    }
    

    调用bean变量应该在JSP页面上使用ID

    <jsp:useBean id="aux" class="com.path.to.ConnectToRMIBean" scope="request" /> 
    ----
    yours stuff
    -----
    
    <h1>${aux.listProjects}
    

    希望这对你有帮助。祝你好运

  2. # 2 楼答案

    你只是迷路了<;%%&燃气轮机;和<;%=%&燃气轮机;在JSP中使用。要在<;%%中打印&燃气轮机;标签使用

    <% out.println("Your results"); %>
    

    对于<;%=%&燃气轮机

    <%=
       String.valueOf(1+2);
    %>
    
  3. # 3 楼答案

    引用并修复您在编辑时的最新更改,并附上一些评论:

    <h1>Projectos Actuais</h1>
    
    <h2><%
        try{        
          fundstarter.model.ConnectToRMIBean aux = new       fundstarter.model.ConnectToRMIBean();
    
          //Send result into generated HTML page with out.print!
          out.print(aux.getListProjects());
        }catch(Exception e){
            e.printStackTrace();
        }
    
        %>
    </h2>
    
  4. # 4 楼答案

    既然您已经标记了这个,假设getListProjects()在操作上,在JSP使用中:

    <s:property value="listProjects" />
    

    如果它位于bean上,则在操作中声明该bean,并通过getter公开它:

    private MyBean bean;
    
    public MyBean getBean(){ 
        return bean; 
    }
    

    在JSP中使用点符号

    <s:property value="bean.listProjects" />
    

    注意:总是避免使用scriptlet(<% %>),they're evil