Java 将属性从Servlet传递到jsp时值不匹配
在Servlet中设置值并使用RequestDispatcher在jsp中检索 在test1Servlet中: setAttribute(“Alpha”,Alpha) RequestDispatcher rd=request.getRequestDispatcher(“Test.jsp”) 转发(请求、响应) Test.jsp中的: 单击按钮,我使用请求属性值对另一个servlet进行ajax调用Java 将属性从Servlet传递到jsp时值不匹配,java,jsp,servlets,Java,Jsp,Servlets,在Servlet中设置值并使用RequestDispatcher在jsp中检索 在test1Servlet中: setAttribute(“Alpha”,Alpha) RequestDispatcher rd=request.getRequestDispatcher(“Test.jsp”) 转发(请求、响应) Test.jsp中的: 单击按钮,我使用请求属性值对另一个servlet进行ajax调用 $(document).ready(function(){ $(".button1").cl
$(document).ready(function(){
$(".button1").click(function(){
$.ajax({
type: "POST",
url: "<%=request.getContextPath()%>/test2Servlet",
data: {"alpha":<%=request.getAttribute("alpha")%>,"ins":10},
dataType:"text",
$(文档).ready(函数(){
$(“.button1”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“/test2Servlet”,
数据:{“alpha”:“ins”:10},
数据类型:“文本”,
在本例中,如果我在test1Servlet中将alpha值设置为0017,那么我将在jsp中获得0015
该值是如何更改的
任何人请帮助我解决此问题。这里没有错误。您得到了正确的值。
在许多语言中,前面带零的数字被解释为八进制或六进制:
- 八进制:017=15
(因为1的计算结果是8,而7的计算结果是1×8+7=15) - 十六进制:0x17=1×16+7=23
<script>
var x = 0017;
var y = 0x17;
alert("x:" + x);
alert("y:" + y);
</script>
var x=0017;
变量y=0x17;
警报(“x:+x”);
警报(“y:+y”);
由于post参数被转换为字符串,您可以将值放在引号中。或者避免在数字中前导零。这是不可能的。您必须在两者之间进行更改。您可以发布servlet和JSP的完整代码吗?post a以及输入和预期及意外输出的准确描述。也就是说,您放弃了t显示您是如何声明和读取这些变量的。您使用的值是八进制表示法而不是十进制表示法,因此您犯错误的可能性很大。我的答案有用吗?然后您可以通过单击复选标记和左侧向上的箭头来接受并向上投票。如果您仍然有问题,请提供更多信息。是的您是对的,但不确定它在哪里更改为八进制,因为我从会话中获取值并将其存储为字符串,并在request.setAttribute(alpha)中使用相同的值。使用下面的代码从会话中获取值,我不能忽略前面零的HttpSession session=request.getSession();string alpha=request.getParameter(“alpha”);session.setAttribute(“alpha”,alpha);如何在test1Servlet中设置
alpha
?它是什么类型?显示定义。将值放在引号中表示jsp ajax调用:数据:{“alpha”:“”,“ins”:10}
。在
周围加上单引号。