s:属性未显示值Struts2

时间:2015-02-16 14:58:19

标签: java properties struts2

我有以下内容:

select name="nroPartido" style="color:#F5FFFA; background-color: #CC9900; font-weight: bold;">
<%
        //se crean las listas
        java.util.ArrayList<Partido> lista = Pronosticos.getInstance().getMiLista();
                int nro = 0;
        for (Partido p : lista) {              
                out.println("<option value=\"" + nro + "\">" + p.getLocal() +"-" +p.getVisitante() + "</option>");
                nro++;
        }
%>
</select>

所以当我点击按钮时,nro的值将是pronosticoAction类中的var nroPartido的值:

package acciones;


import com.opensymphony.xwork2.ActionSupport;

public class pronosticoAction extends ActionSupport {

    private int nroPartido;


    public String execute() {
        System.out.println(nroPartido);
        return SUCCESS;
    }


    public int getNroPartido() {
        return nroPartido;
    }


    public void setNroPartido(int nroPartido) {
        this.nroPartido = nroPartido;
    }






}

然后我想要做的是在JSP页面中打印该数字。所以我做了以下几点:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Detalles partido</title>
</head>
<body>

    <h1>Chosen number</h1>

<h4>
    You select number: <s:property value="nroPartido" />
</h4>
</body>
</html>

问题是它只显示了这个:

enter image description here

如果有人能帮助我会非常有用 谢谢!

1 个答案:

答案 0 :(得分:0)

以下行在语法和概念上都是错误的:

<s:property value="nroPartido"></<s:property>

还有一个额外的<<s:property/>标记应该自动关闭,就像XHTML中的void元素一样:

<s:property value="nroPartido" />

也就是说,您应该考虑在不使用scritplets的情况下构建Select,方法是使用<s:iterator>迭代选项,或者使用通常是正确方法的<s:select/>。您可以在this answer中找到有关如何操作的示例。

修改

您还忘记加入taglib directive for Struts2 tags

<%@ taglib prefix="s" uri="/struts-tags" %>
  

要在视图页面上使用Struts 2标记,必须包含标记库指令。通常,taglib指令为<%@ taglib prefix="s" uri="/struts-tags" %>。因此,所有Struts 2标签的前缀都是&#34; s&#34;。   如果你想真正阅读Struts 2标签TLD文件,你可以在Struts 2核心jar的META-INF文件夹中找到它。