test.jsp
<form action="userAction">
userinfo:
<input type="text" name="user"/>
<input type="submit" name="submit"/>
</form>
struts.xml
<action name="userAction" class="com.struts.UserAction">
<result name="success">/output.jsp</result>
</action>
UserAction.java
public class UserAction extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String execute() throws Exception{
System.out.println(user.getPassword()+user.getUsername());
return SUCCESS;
}
....
UserAction-conversion.properties
user=com.converter.UserConverter
UserConverter.java
public class UserConverter extends DefaultTypeConverter{
public Object converterValue(Map context,Object value,Class toType){
if(User.class==toType){
String[] str=(String[])value;
String firstvalue=str[0];
StringTokenizer st=new StringTokenizer(firstvalue, ";");
String username=st.nextToken();
String password=st.nextToken();
System.out.println(username+password);
User user=new User();
user.setUsername(username);
user.setPassword(password);
return user;
}
return null;
刚学struts2的转换器。。死活找不到哪里不对劲,我知道写个input就可以没有错误。。但是我想要的是泽囊才success。。
------解决方案--------------------
你是想哪里获得结果
------解决方案--------------------
struts.xml 中的 package几点加上namespace="/"看看,不要忘了把jsp前边的/去掉
------解决方案--------------------
跳出这个结果是因为传接值异常。
<input type="text" name="user"/>
把这里去掉再试。
------解决方案--------------------
把Converter删了。
------解决方案--------------------
<form action="userAction">
这里是不是要改成userAction.action?
struts2默认后缀是这个
userinfo:
<input type="text" name="user"/>
<input type="submit" name="submit"/>
</form>
struts.xml
这里写的省略后缀的,其实对应的是userAction.action
<action name="userAction" class="com.struts.UserAction">
<result name="success">/output.jsp</result>
</action>
------解决方案--------------------
前台页面的user是一个输入框,后台是个对象,不可以啊,前台写成user.name(name是user的对象),传后台之后,后台你已经有user的set和get方法了,然后out页面通过el表示啥的就能得到如<input type="" value="${user.name}">
好久没写struts2了 不知道有没有记错 你自己试下