JFinal如何接收HttpPost的参数,接收后如何save()?

loummonNECfantttttcy 发布于 2013/05/14 10:38
阅读 4K+
收藏 0

请问,我用HttpPost传递参数过来,在Register类中用

public void save() {
		String name = getPara("name"); 
	    String passWord = getPara("password"); 
	    Users ur = new Users();
		ur.set("users.name",name).set("users.password",passWord).save();
		redirect("/userRegister");
	}
接收并储存,打印的是:

JFinal action report -------- 2013-05-14 10:10:52 ------------------------------
Controller  : com.demo.common.CommonController.(CommonController.java:1)
Method      : index
UrlPara     : Register
Parameter   : name=111  password=222332
Method为什么不是save呢

加载中
0
JFinal
JFinal
post 请求也是用 getPara/getModel/getFile系列的方法获取数据的,仔细看一下 jfinal 手册中的路由规则,只有四种路由,五分钟看完,就能明白为什么调用的是index而不是save方法了
1
pandyyan
pandyyan

form action怎么写的?

另外ur.set("users.name",name).set("users.password",passWord).save();写法有问题,应该ur.set("name",name).set("password",passWord).save();

0
loummonNECfantttttcy
loummonNECfantttttcy
@JFinal ,刚接触,谢谢各位,给我点帮助指导,谢谢!
0
loummonNECfantttttcy
loummonNECfantttttcy

引用来自“pandyyan”的答案

form action怎么写的?

另外ur.set("users.name",name).set("users.password",passWord).save();写法有问题,应该ur.set("name",name).set("password",passWord).save();

是安卓端传来的数据:

 HttpClient httpClient = new DefaultHttpClient();
StringBuilder uri = new StringBuilder();
            uri.append(localhost + "Register" + "?" + "action=" + post);
            uri.append("&name=");
            uri.append(username);
            uri.append("&password=");
            uri.append(password);
HttpPost httpPost = new HttpPost(uri.toString());
 

pandyyan
pandyyan
save方法在哪个Controller中?是否已经添加路由? 另外从日志看出Register被当做一个参数传递了,改成uri.append(localhost + "register/save/" +"?"+...)试试。
0
loummonNECfantttttcy
loummonNECfantttttcy

引用来自“loummonNECfantttttcy”的答案

引用来自“pandyyan”的答案

form action怎么写的?

另外ur.set("users.name",name).set("users.password",passWord).save();写法有问题,应该ur.set("name",name).set("password",passWord).save();

是安卓端传来的数据:

 HttpClient httpClient = new DefaultHttpClient();
StringBuilder uri = new StringBuilder();
            uri.append(localhost + "Register" + "?" + "action=" + post);
            uri.append("&name=");
            uri.append(username);
            uri.append("&password=");
            uri.append(password);
HttpPost httpPost = new HttpPost(uri.toString());
 

回复 @pandyyan : save()在UserRegisterValidator.class 
我重新写了下路由me.add("/Register",UserRegisterController.class);
这样会打印


Controller  : com.demo.userRegister.UserRegisterController.(UserRegisterController.java:1)
Method      : index
Interceptor : com.demo.userRegister.UserRegisterInterceptor.(UserRegisterInterceptor.java:1)
Parameter   : name=111  password=22233 


如果url加上/save 变成


JFinal action report -------- 2013-05-14 11:14:37 ------------------------------
Controller  : com.demo.userRegister.UserRegisterController.(UserRegisterController.java:1)
Method      : save
Interceptor : com.demo.userRegister.UserRegisterInterceptor.(UserRegisterInterceptor.java:1)
              com.demo.userRegister.UserRegisterValidator.(UserRegisterValidator.java:1)
Parameter   : name=111  password=22233  
--------------------------------------------------------------------------------
Before invoking /Register/save
After invoking /Register/save


会报错:
2013-5-14 11:13:53 org.apache.jasper.servlet.JspServlet serviceJspFile

严重: PWC6117: File "E%3A%5Candroid%5CUsers%5Cdxh%5Cworkspace%5Cjfinal_demo_for_jsp%5CWebRoot%5CRegister%5CuserRegister.jsp" not found


感谢你的帮助!

pandyyan
pandyyan
redirect("/userRegister");重定向的页面不存在。
0
红薯苗
红薯苗
/save 才是请求save 你看看路由吧
0
本人纯属虚构
本人纯属虚构
先看手册吧 什么都没看 或者只是初略的看 然后写出来的代码一大堆问题!
0
loummonNECfantttttcy
loummonNECfantttttcy
谢谢,已经看懂了!还是先研究手册!@ pandyyan @objectjava @本人纯属虚构 
返回顶部
顶部