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

x2zero 2013-12-25 01:22:46
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。。
...全文
641 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
guduyishuai 2013-12-26
  • 打赏
  • 举报
回复
是不是需要某个特定的interceptor,然后没有在struts.xml中配置
guduyishuai 2013-12-26
  • 打赏
  • 举报
回复
引用 10 楼 nieleifang 的回复:
前台页面的user是一个输入框,后台是个对象,不可以啊,前台写成user.name(name是user的对象),传后台之后,后台你已经有user的set和get方法了,然后out页面通过el表示啥的就能得到如<input type="" value="${user.name}"> 好久没写struts2了 不知道有没有记错 你自己试下
楼主用了convert,所以可以前台是字符串,后台是对象。这个功能知道有,没用过,所以帮不到了。
蹭蹭一笑 2013-12-25
  • 打赏
  • 举报
回复
前台页面的user是一个输入框,后台是个对象,不可以啊,前台写成user.name(name是user的对象),传后台之后,后台你已经有user的set和get方法了,然后out页面通过el表示啥的就能得到如<input type="" value="${user.name}"> 好久没写struts2了 不知道有没有记错 你自己试下
猿敲月下码 2013-12-25
  • 打赏
  • 举报
回复
<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>
forgetsam 2013-12-25
  • 打赏
  • 举报
回复
引用 6 楼 x2zero 的回复:
[quote=引用 4 楼 forgetsam 的回复:] 跳出这个结果是因为传接值异常。 <input type="text" name="user"/> 把这里去掉再试。
去掉就提示请求为null的错误[/quote] 把Converter删了。
x2zero 2013-12-25
  • 打赏
  • 举报
回复
引用 2 楼 nieleifang 的回复:
你是想哪里获得结果
例如在test.jsp输入wright;123456 最后在output页面输出名字:wright 密码:123456
x2zero 2013-12-25
  • 打赏
  • 举报
回复
引用 4 楼 forgetsam 的回复:
跳出这个结果是因为传接值异常。 <input type="text" name="user"/> 把这里去掉再试。
去掉就提示请求为null的错误
x2zero 2013-12-25
  • 打赏
  • 举报
回复
引用 3 楼 f893147944 的回复:
struts.xml 中的 package几点加上namespace="/"看看,不要忘了把jsp前边的/去掉
还是不行= =
forgetsam 2013-12-25
  • 打赏
  • 举报
回复
跳出这个结果是因为传接值异常。 <input type="text" name="user"/> 把这里去掉再试。
f893147944 2013-12-25
  • 打赏
  • 举报
回复
struts.xml 中的 package几点加上namespace="/"看看,不要忘了把jsp前边的/去掉
蹭蹭一笑 2013-12-25
  • 打赏
  • 举报
回复
你是想哪里获得结果
x2zero 2013-12-25
  • 打赏
  • 举报
回复
最后打错了。。无视吧,就是想问怎样才能得到success的结果

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧