【问题标题】:EL in struts 2 not workingstruts 2中的EL不工作
【发布时间】:2016-09-06 04:05:22
【问题描述】:

我有一个搜索表单(name = studentForm),它被提交给 struts2 操作,该操作从 db 获取数据并返回一个带有表单 (name = studentListForm) 的 JSP。

当我使用 s:property 时,我能够从操作表单中获取一个属性,而使用 EL 是空的。

动作

private int    pageNumber;
/** some code here **/
setPageNumber(1);
public int getPageNumber()
{
    return pageNumber;
}

public void setPageNumber(int pageNumber)
{
    this.pageNumber = pageNumber;
}

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<s:form id="studentListForm" name="studentListForm" action="student.do" method="post" class="pure-form pure-form-aligned">
<table width="50%">

            <tr>
                <td align="center" colspan="2">
                    <!-- This works -->
                    <s:property value="pageNumber"/> 
                    <!-- This doesn't -->
                    <c:out value="${studentListForm.pageNumber}"></c:out>
                </td>
            </tr>
</table>
<div id="hiddenFields">
  <s:hidden key="pageNumber"></s:hidden>
</div>
</s:form>
</html>

【问题讨论】:

    标签: jsp struts2 jstl el


    【解决方案1】:

    您需要更改 EL 才能在 valueStack 中找到您的操作变量。

    <c:out value="${pageNumber}"/> 
    

    注意,由于 Struts 请求包装器,EL 表达式应该可以访问valueStack 变量。见How we use JSTL with the framework

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 2013-08-26
      相关资源
      最近更新 更多