我试图在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>
我从另一个代码引导我的自我,这个方法就像这样调用。但就我而言,它不起作用,我无法弄清楚出了什么问题。
答案 0 :(得分:2)
由于您已标记此struts2,假设getListProjects()
在Action上,在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。
答案 1 :(得分:0)
根据Struts的流程,beanclass中的字段应该与getter&amp;的名称相同。二传手。例如,如果您的方法名称是getListPorjects,那么在您的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 :(得分:0)
你只是错过了&lt; %%&gt;和&lt;%=%&gt;用于JSP。打印在&lt; %%&gt;标签使用
<% out.println("Your results"); %>
和&lt;%=%&gt;
<%=
String.valueOf(1+2);
%>
答案 3 :(得分:0)
使用一些评论引用并修复您的最新修改:
<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>