<s:textfield>标签中的name可以使用“实体bean.属性”,不知该实体是如何声明的?
在试过的一个例子中,我没有发现在使用该标签的页面有声音过使用的那个实体,也没有发现有哪个类或页面有传过这样的实体,想请高手解释一下这个实体是如何声明的,或是其它什么办法使用他可以被使用,且可以在action中使用实体的属性
在试过的一个例子中,我没有发现在使用该标签的页面有声音过使用的那个实体,也没有发现有哪个类或页面有传过这样的实体,想请高手解释一下这个实体是如何声明的,或是其它什么办法使用他可以被使用,且可以在action中使用实体的属性
bean————
package action;public class TestBean {
private String str;
public void setTb(String tb) {
this.str = tb;
}
public String getTb() {
return str;
}}action————
package action;import com.opensymphony.xwork2.ActionSupport;public class Test extends ActionSupport {
TestBean tbn=new TestBean();
public String list(){
System.out.println(tbn.getTb());
//System.out.println("sad");
return SUCCESS;
}
}struts.xml————
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Fountdation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
<include file="struts-default.xml"></include>
<package name="struts2" extends="struts-default" namespace="/userManage">
<action name="List" class="user.action.UserAction" method="list">
<result name="success">list.jsp</result>
</action>
<action name="Store" class="user.action.UserAction" method="store">
<result type="redirect">List.action?department_id=${userinfo.department_id}</result>
</action>
</package>
</struts>提交JSP————
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<script src="js1.js">
<!--//-->
</script>
<script src="js2.js">
<!--//--></script><!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<input type="button" value="测试JS" onclick="js1_f()">
<s:form action="List.action">
<s:textfield name="tbn.str" label="测试BEAN" ></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>——————————————————我想实现的是在页面中的textfield中填写一个值,其name就是action声明的bean的名称.属性,提交后,将填写的值在后台打印出来。上述代码执行后,打印的值为null,并不是填写的值;如果把上述代码的action中bean的声音,不作new TestBean(),则报空指针错误。
请高手明示原因。
谢谢!!!!
private String str;
public void setStr(String tb) {
this.str = tb;
}
public String getStr() {
return str;
}}
private TestBean tbn; get,set下
你的bean里面的每个属性,要有对应的get、set方法。比如属性为private String aaa,则对应有getAaa()和setAaa(String aaa)方法.注意get/set方法要与属性名严格对应。你这里就是属性str,而方法却是Tb,所以不行。