【问题标题】:How to call a java method inside a .jsp page using JSTL如何使用 JSTL 在 .jsp 页面中调用 java 方法
【发布时间】:2013-02-14 09:04:36
【问题描述】:

下面是我的java代码:

package employees;  
public class showString{    
    public String setSection(){
        String myStr = "Hello";
        return myStr ;
    }
};

如何使用 JSTL 在我的 jsp 页面中调用 setSection() 方法?我尝试了几种方法,但都没有奏效。

我已经查看了这个页面How to avoid Java Code in JSP-Files?但是不明白如何在jsp文件上调用我的方法

这将是一个很大的帮助。谢谢

【问题讨论】:

标签: java jsp servlets jstl


【解决方案1】:

你可以试试<jsp:usebean>调用java bean的方法.. 看看下面的例子

package my;
public class MyBean {

  private String name=new String();

  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
  } 

在jsp中调用setname方法

<jsp:useBean id="mybean" class="my.MyBean" scope="session" >
<jsp:setProperty name="mybean" property="name" value=" Hello world" />
</jsp:useBean>

在jsp中调用getname方法

<jsp:getProperty name="mybean" property="name" />

主要的要求是你的方法名应该从get开始,set加上属性名

【讨论】:

  • 感谢您的回复。你能解释一下在jsp中调用setname方法在jsp中调用getname方法中每一行代码的含义吗?对我和其他人都会有很大的帮助:)
  • 用于定位或实例化一个 java bean 组件 元素包含一个 元素,用于设置 Bean 中的属性值 用于获取属性值的元素。
  • 感谢您的解释:)
【解决方案2】:

showString 不是方法而是类。你不能“调用”类。如果你想调用setSection方法,那么你可以试试${objectYouCreated.setSection()}

还请注意,您的代码不遵循 Java 中的大小写约定(类的名称应以大写字母开头),而且我不能 100% 确定末尾的分号是否是有效的 Java 语法,但看起来真的很奇怪对我来说。

【讨论】:

  • 对不起.. 我在描述中错误地添加了 showString() 作为方法而不是 setString()。我尝试调用setSection 方法,但没有成功
  • 可以在JSP文件中创建showString()的实例吗? java代码应该和jsp代码分开吧?
  • 您需要在某处创建showString 的实例并以某种方式使其对JSP 可用。如果您使用 Struts2,您可以在 Java 代码中的任何位置创建实例,然后通过 Action 类字段将其公开给 JSP。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-26
  • 1970-01-01
  • 2013-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多