【问题标题】:What actually means "value" in JSP?JSP 中的“价值”究竟是什么意思?
【发布时间】:2011-05-12 08:27:44
【问题描述】:

我最近读过 JSP,对它使用的 javabeans 技术有疑问。假设以下 JavaBeans 代码:

package mortgage;
public class Mortgage
{
    private double amount = -1.0;
    public void setAmount(double amount)
    {
         this.amount = amount;
    }
}

假设我必须在我的 JSP 中使用这个 JavaBeans,并获取从 HTML 表单或 URL 查询字符串和 JSP 代码获取的参数值,如下所示:

<jsp:useBean id="calc" class="mortgage.Mortgage" />
<p> Testing . . . 
  <c:set target="${calc}" property="amount"  value="${param.mortgageAmount}" />
   . . . . . 

这个例子在我的书上做了一点修改。我的问题是上述代码 JSP 中的 value 是做什么的? mortgageAmount 来自哪里?(这是来自 HTML 表单元素的值吗?) 还有targetproperty 有什么作用?

由于我是新手,我不知道上面的代码到底发生了什么。如果有错误请帮助我并纠正我?

【问题讨论】:

  • 另见stackoverflow.com/tags/el/info(将鼠标放在问题下方的标签上方,直到看到弹出框,然后单击弹出框上的 info 链接即可访问此类页面)。

标签: java jsp jstl el javabeans


【解决方案1】:

value 表示将设置为 target 的表达式

mortgageAmount 是从哪里来的?

假设它是作为参数来的,因为您在代码中通过param.mortgageAmount 在 url 中使用它,例如

yourapp/page.jsp?mortgageAmount=someVAlue

简单来说

value 是要评估的表达式,它将被设置为 targetproperty所代表的对象属性


另见

【讨论】:

  • 所以正如您在上面的简单示例中提到的,someVAlue 将被分配给目标calc,属性为amount。我说的对吗?
  • 没错。
【解决方案2】:

param 是一个 JSP 隐式对象。这是一个地图,其条目是页面参数 - 所以任何作为查询字符串中的参数出现的东西,或者(我认为)通过表单发布。

Targetproperty 管理 c:set 的功能;它将命名目标对象上的命名属性设置为给定值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-12
    • 2014-10-29
    • 2016-01-27
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多