<!DOCTYPE html>
<html xmlns=" >
获取name ${username}
获取company ${usercompany}
这里举得例子是:JS直接从后台Contorller中(SpringMVC中的model中)获得数值的值
Contorller 此处将 talentIntegralRecordsDay talentIntegralRecordsIntegral 两个数组用JSONtoJSONString()封装。
@SuppressWarnings("deprecation")
@RequestMapping("/integralParadise") public ModelAndView Welcome(>
Users user = userServicecurrentUser(request);
usergetTalentUser()getIntegral();
Systemoutprintln(usergetTime()getDate());
TalentIntegralRecord[] signInTalentIntegralRecords= wechatIntegralServicegetUserSignInTalentIntegralRecords(usergetId()); int size = signInTalentIntegralRecordslength; int[] talentIntegralRecordsDay = new int[size];
Long[] talentIntegralRecordsIntegral = new Long[size]; for(int i=0;i<signInTalentIntegralRecordslength;i++){
talentIntegralRecordsDay[i]=signInTalentIntegralRecords[i]getOperatorTime()getDate();
talentIntegralRecordsIntegral[i]=signInTalentIntegralRecords[i]getIntegral();
}
Map<String,Object> map = new HashMap<String,Object>();
mapput("talentIntegralRecordsDay", JSONtoJSONString(talentIntegralRecordsDay));
mapput("talentIntegralRecordsIntegral", JSONtoJSONString(talentIntegralRecordsIntegral)); return new ModelAndView("wechat/integralParadise/rili",map);
}
前台JSP 因为用到两个数组数据的JS代码为页面引用的JS代码所以要在页面中先声明获得后台两个数组(这段JS代码应在引用的JS文件前面)
<script type="text/javascript">
$(document)ready(function(){
windowtalentIntegralRecordsDay = ${talentIntegralRecordsDay};
windowtalentIntegralRecordsIntegral = ${talentIntegralRecordsIntegral};
});</script>
引用的JS文件 开始就获得了两个数组的值
$(function() { var signFun = function() {
var dateArray = windowtalentIntegralRecordsDay;// 假设已经签到的
var talentIntegralRecordsIntegral = windowtalentIntegralRecordsIntegral; var $dateBox = $("#js-qiandao-list"),
$currentDate = $("current-date"),
$qiandaoBnt = $("#js-just-qiandao"),
_html = '',
_handle = true,
myDate = new Date();
$currentDatetext(myDategetFullYear() + '年' + parseInt(myDategetMonth() + 1) + '月' + myDategetDate() + '日'); var monthFirst = new Date(myDategetFullYear(), parseInt(myDategetMonth()), 1)getDay(); var d = new Date(myDategetFullYear(), parseInt(myDategetMonth() + 1), 0); var totalDay = dgetDate(); //获取当前月的天数
for (var i = 0; i < 42; i++) {
_html += ' <li><div class="qiandao-icon"></div></li>'
}
$dateBoxhtml(_html) //生成日历网格
var $dateLi = $dateBoxfind("li"); for (var i = 0; i < totalDay; i++) {
$dateLieq(i + monthFirst)addClass("date" + parseInt(i + 1)); for (var j = 0; j < dateArraylength; j++) { if (i == dateArray[j]) {
$dateLieq(i)addClass("qiandao"); var integral; if(talentIntegralRecordsIntegral[j]==0){
integral="大转盘";
}else{
integral="+"+talentIntegralRecordsIntegral[j];
}
$dateLieq(i)find("div")text(integral);
}
}
} //生成当月的日历且含已签到
$("date" + myDategetDate())addClass('able-qiandao');
$dateBoxon("click", "li", function() { if ($(this)hasClass('able-qiandao') && _handle) {
$(this)addClass('qiandao');
qiandaoFun();
}
protected void SelectOne(string str)
{
string strs = "select from MT_Product where P_Name like str";
sqlProduct(strs); //此方法执行并返回结果
}
前台js代码
function Button2_onclick() {
var TextBox1=documentgetElementById ('Text1') //取出textbox里的内容
if(TextBox1value=="")
{
alert('不能为空!');
return false;
}
else
{
<%=SelectOne(Text1Text) %> //此处调用后台方法
}
首先确定你后台传过来的str是你所说的那样
其次你js应该写成
var indexdata2 = <%=str %>;
去掉外边的双引号,因为你这个是js的数组,带双引号就是字符串了,所以你不能直接用
你也可以通过一般处理程序来做。
在js里分别获取两个text的值,在按钮的onclick事件下跳转到一般处理程序(getMessageashx)
string input1=contextrequestQueryString["input1"]tostring();
input2类似,然后再判断即可。
以上就是关于如何在js中接收后台传来的数组全部的内容,包括:如何在js中接收后台传来的数组、js怎样获得后台Model中的值、前台JS文件怎么调用后台一个方法并传递参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)