[英]How to pass JSP variable value to this Struts tag
我想將 JSP 變量值設置為 struts 標簽<s:set var="" value="">
,在下面的代碼中我必須在<s:set name="c" value=" "/>
carbo
變量的<s:set name="c" value=" "/>
而不是常量值。
我怎樣才能做到這一點?
<%! String carbo=""; %>
<%
String dish_name=(String)session.getAttribute("d");
String calories_qty=(String)session.getAttribute("a");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/medical","root","root");
//Connection conn=dbConn.getConnection();
Statement stmt = conn.createStatement();
System.out.println("jsp dish_name="+dish_name);
System.out.println("jsp dish_name="+calories_qty);
ResultSet rs = stmt.executeQuery("Select * from calories c,dishdetail d where c.dishdetail_Id=d.id and d.dishName='"+dish_name+"' AND d.size='"+calories_qty+"' ");
while(rs.next()){
carbo=rs.getString("carbo");
//carbo=Float.parseFloat(rs.getString("carbo"));
}
System.out.println("jsp carbo:"+carbo);
}
catch(Exception e){
System.out.println("error:"+e);
}
%>
<s:set name="c" value="45" />
<p> carbo: <s:property value="#c" /></p>
<sj:progressbar cssStyle="width:20%; height:10px;" value="%{c}" onCompleteTopics="reloadfifthlist" onChangeTopics="mychangetopic"/>
我希望我能很好地理解你想要達到的目標,但我願意
<s:set name="c" value="<%= carbo %>"/>
最簡單的方法
<s:set var="c"><%=carbo%></s:set>
<s:property value="#c" />
但是,不是在 scriptlet 中編寫應用程序邏輯,您應該在操作中完成,您可以將這些變量直接放在操作類中。 該動作可以將調度結果返回給 JSP。 然后在為屬性創建 getter 和 setter 之后,您可以使用 OGNL 表達式來引用操作屬性。 例如
@Action(value="name", results={
@Result(location = "/path/to/page.jsp")
})
class MyAction extends ActionSupport {
private String carbo;
//getters and setters here
public String execute(){
//your logic here
return SUCCESS;
}
}
那么你只需要引用這個動作屬性
<s:property value="%{carbo}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.