我有以下内容:
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>
问题是它只显示了这个:
如果有人能帮助我会非常有用 谢谢!
答案 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文件夹中找到它。