在 jsp 上调用 bean 方法

Calling bean method on jsp

我正在尝试调用 jsp 文件中 Bean 上的连接方法。
该方法将向 RMI 服务器发出请求并 return 一个字符串。
此时该方法只是return一个用于测试的预定义字符串。

这是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>

我是从另一个代码引导自己的,方法是这样调用的。但就我而言,它不起作用,我无法弄清楚哪里出了问题。

根据 Struts 的流程,beanclass 中应该有一个字段,其名称与 getter 和 setter 相同。例如,如果您的方法名称是 getListPorjects,那么在您的 bean class 中应该有一个私有字符串变量名称 listprojects。

此外,您的方法将更新为 return 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}

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

您只是错过了在 JSP 中使用 <% %> 和 <%= %> 的方式。要在 <% %> 标签中打印,请使用

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

以及 <%= %>

<%=
   String.valueOf(1+2);
%>

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

<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>

由于您已标记此 ,假设 getListProjects() 在操作上,在 JSP 中使用:

<s:property value="listProjects" />

如果它在 bean 上,则在 Action 中声明 bean,并通过 getter:

公开它
private MyBean bean;

public MyBean getBean(){ 
    return bean; 
}

并在 JSP 中使用 点符号:

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

P.S:始终避免使用 Scriptlets (<% %>),they're evil.