s:property 未显示值 Struts2
s:property not shown value 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 class:
中的 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>
问题是它只显示了这个:
如果有人能帮助我将非常有用
谢谢!
下一行在句法和概念上都是错误的:
<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" %>
To use the Struts 2 tags on the view page, you must include a tag library directive. Typically, the taglib directive is <%@ taglib prefix="s" uri="/struts-tags" %>
. So the prefix for all the Struts 2 tags will be "s".
If you want to actually read the Struts 2 tag TLD file, you'll find it in the META-INF folder of the Struts 2 core jar.
我有以下内容:
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 class:
中的 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>
问题是它只显示了这个:
如果有人能帮助我将非常有用 谢谢!
下一行在句法和概念上都是错误的:
<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" %>
To use the Struts 2 tags on the view page, you must include a tag library directive. Typically, the taglib directive is
<%@ taglib prefix="s" uri="/struts-tags" %>
. So the prefix for all the Struts 2 tags will be "s". If you want to actually read the Struts 2 tag TLD file, you'll find it in the META-INF folder of the Struts 2 core jar.