当前位置: 代码迷 >> Java Web开发 >> 老有关问题。No result defined for action and result input
  详细解决方案

老有关问题。No result defined for action and result input

热度:3589   发布时间:2016-04-10 23:04:23.0
老问题。。No result defined for action and result input
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"/>

把这里去掉再试。
------解决方案--------------------
引用:
Quote: 引用:

跳出这个结果是因为传接值异常。
<input type="text" name="user"/>

把这里去掉再试。


去掉就提示请求为null的错误


把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了 不知道有没有记错 你自己试下
  相关解决方案