求高手帮助,jsp页面$.post的参数
$.post(url,{id:id,qty:qty});中的url到底写什么呀?实现类里面的实现方法还是jsp页面?还是struts.xml里面的参数?求高手帮忙,谢谢了...
$.post(url, {id:id,qty:qty});中的url到底写什么呀?实现类里面的实现方法还是jsp页面?还是struts.xml里面的参数?求高手帮忙,谢谢了
展开
展开全部
// 页面加载时执行函数
$(document).ready(
// 内部函数 查询产品线
function(){
var url = "${pageContext.request.contextPath}/PrForecastTwoAction.do";
var params = "action=SearchProductLineInfo";
$.ajax({
async: true,
cache: false,
type: "post",
url: url,
data: params,
error: showError,
success: getProductLineInfo
});
});
url写的是action对应的路径 至于实现方法肯定是在action类 比如这个里例子的话 在PrForecastTwoAction类里写实现功能的方法,而你说的struts。xml只是连接jsp和这个实现类PrForecastTwoAction。
struts。xml配置里写的代码是:
<action
name="PrForecastTwoForm"
scope="request"
path="/PrForecastTwoAction"
type="com.forecast.struts.action.PrForecastTwoAction"
parameter="action"
validate="false">
<forward name="list" path="/forecast/PrForecastTwo/PrForecastQueryTwo.jsp"/>
<forward name="search" path="/forecast/PrForecastTwo/PrForecastSearchTwo.jsp"/>
</action>
我这里写的是struts1里的配置文件,struts2里配置不一样的
希望对你有所帮助
$(document).ready(
// 内部函数 查询产品线
function(){
var url = "${pageContext.request.contextPath}/PrForecastTwoAction.do";
var params = "action=SearchProductLineInfo";
$.ajax({
async: true,
cache: false,
type: "post",
url: url,
data: params,
error: showError,
success: getProductLineInfo
});
});
url写的是action对应的路径 至于实现方法肯定是在action类 比如这个里例子的话 在PrForecastTwoAction类里写实现功能的方法,而你说的struts。xml只是连接jsp和这个实现类PrForecastTwoAction。
struts。xml配置里写的代码是:
<action
name="PrForecastTwoForm"
scope="request"
path="/PrForecastTwoAction"
type="com.forecast.struts.action.PrForecastTwoAction"
parameter="action"
validate="false">
<forward name="list" path="/forecast/PrForecastTwo/PrForecastQueryTwo.jsp"/>
<forward name="search" path="/forecast/PrForecastTwo/PrForecastSearchTwo.jsp"/>
</action>
我这里写的是struts1里的配置文件,struts2里配置不一样的
希望对你有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是你想把参数提交给谁处理?
如果你处理参数的程序是jsp当然就提交给jsp
如果你处理参数用的struts里面配置的action,那就写action
如果你处理参数的程序是jsp当然就提交给jsp
如果你处理参数用的struts里面配置的action,那就写action
追问
就相当于一个系统的注册页面,注册的时候需要异步的检查用户名是否已经存在,把用户名交给后面的action来处理,action返回一个数据,该用户是否可以注册?就这样一个功能 谢谢相助。
追答
那你遇到的困难是什么呢?是ajax不会返回数据吗?还是提交的数据action拿不到?
我就说说大概的过程吧
那个注册的action拿到用户名密码,然后验证,这个应该没问题的吧,
然后就是ajax返回数据了,你在action里面声明一个private InputStream inputStream;set和get方法弄好,然后根据验证结果往这个inputStream里面写数据,例如下面这样,验证成功写0验证失败写1
User u = userService.queryByName(user);
if (u == null) {
inputStream = new BufferedInputStream(new ByteArrayInputStream(
(0 + "").getBytes()));
} else {
inputStream = new BufferedInputStream(new ByteArrayInputStream(
(1 + "").getBytes()));
}
然后配置struts.xml
<action name="checkUserName" class="userAction" method="checkUserName">
<result name="success" type="stream">
<param name="inputName">inputStream</param>
</result>
</action>
这样就可以用inputStream把数据返回过去了,然后你的页面上面post里面判断返回的1还是0做处理就是了
像我上面这个例子配置的xml,在url的地方就要写namespace/checkUserName.action 那个namespace就是你package标签里面的属性
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
url是你要调用查询并返回结果的路径,也就是你查询数据库并根据结果生成JSON或XML的Action路径。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax处理其实和平时的页面处理是一样的,平时后台怎么处理还是怎么处理,struts该跳哪还是跳转到那个页面,只是这个页面不需要再有头和尾只要有数据部分就可以了。注意url是有缓存的,我一般是加上时间毫秒就可以去缓存。
<div id="result">数据回返层</div>
<input type="button" onclick="postdata()" value="点我获取数据"/>
function postdata(){
var date=new Date();
var now="&root_rtimer="+date.getTime();
var url="/myaction.action"+now;
$.post(url, {id:"12345",qty:"584"},function(xml){
$("#result").html(xml);
});
}
<div id="result">数据回返层</div>
<input type="button" onclick="postdata()" value="点我获取数据"/>
function postdata(){
var date=new Date();
var now="&root_rtimer="+date.getTime();
var url="/myaction.action"+now;
$.post(url, {id:"12345",qty:"584"},function(xml){
$("#result").html(xml);
});
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询