在 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>
由于您已标记此 struts2,假设 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.
我正在尝试调用 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>
由于您已标记此 struts2,假设 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.