ssh中,jsp向struts2的action传值问题(100%结贴)
ssh中jsp向action传值,只得到一个属性的值,还有其他属性的值得不得。寻思许久不得其解,故请各位帮忙解答。
jsp页面内:
	<form action="savePerson" method="post">
   		密码:<input  name="person.pass"  type="password"><br/ >
   		 用户名 :<input  name="person.username" type="text"><br/>
   		age:<input  name="person.age"  type="text"><br/ >
   		<input  name="submit" type="submit"/>
   	</form>
action里面:
public class SavePerson {
	private Person person;
	private PersonService personService;	  
	public void setPerson(Person person) {
		this.person = person;
	}
	public void setPersonService(PersonService personService) {
		this.personService = personService;
	}
	public String execute(){
		System.out.println(person);
		personService.savePerson(person);
		return "success";
	}
}在person的bean里面已经覆写了tostring方法。
只打印了username,其他的却打印不出来。
hibernate显示的hsl语句为:
用户名:222 密码:null 年龄:0
Hibernate: select max(id) from person
Hibernate: insert into s2sh.person (username, password, age, id) values (?, ?, ?, ?)
请各位帮忙解答。(100%结贴)
------解决方案--------------------远程我帮你看看,qq:359060090
------解决方案--------------------你把post改成get,看下这个url有没有把参数传过去,有的话用request.getParameter("XXX")能不能获取到
------解决方案--------------------你可以通过标签来取
第一种方法
   通过<s:property value="" />取值
   当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;  
   当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
   例子:  
   假设某Action中有person成员变量,在application中存在company属性  
   那么我们可以通过以下方法取值:  
   <s:property value="person.name" />  
   <s:property value="#person.name" />  
   <s:property value="company.name" /> //无法取到,因为company不在action的valueStack中  
   <s:property value="#company.name" />
第二种方法
在任意的<s:/>标签内使用%{}来取值
当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;  
当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;  
例子:  
假设某Action中有person成员变量,在application中存在company属性  
<s:textfield name="person.name" value="person.name" /> //错误,value会直接显示person.name字样  
<s:textfield name="person.name" value="%{person.name}" />  
<s:textfield name="person.company.name" value="%{#company.name}" />  
<s:textfield name="person.company.name" value="%{#attr.company.name}" />
------解决方案--------------------那你仔细检查下,可能是哪里不小心写错了
------解决方案--------------------Person 里是否都get/set了呢。
------解决方案--------------------action 里的Person加一个get方法
person.pass,你的BEAN里是PASS?不是PASSWORD?
------解决方案--------------------action里面:
public class SavePerson {
沒有繼承吧
------解决方案--------------------bean 对象的属性 写错没有,还有就是 怎么没有继承ActionSupport啊
------解决方案--------------------应该是get/set方法问题,或者是你的toString写的有没有问题咯!
------解决方案--------------------