我想在jsp页面中用js获取s:property中的value要怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想在jsp页面中用js获取s:property中的value要怎么办相关的知识,希望对你有一定的参考价值。

很简单啊!s:property的value是从action中获取的值,既然这样,你可以在js这样获取:
var name = $属性名; 当然,用el表达式要引入jstl标签库!不然要报错!
也可以:<div id="name"><s:property value="属性名"></div>
js:var name=document.getElementById('name').innerHTML;
参考技术A jsp页面中用js获取s:property中的value的做法是在js中利用单引号对界定s:property取值。如下:
var url = '<s:property value="#urlBack"/>'

1、jsp文件定义如下:

<tr>
<td height="6%"align="center">
<s:submit cssClass="button" key="common.initDelegate.label" align="center" theme="simple"/>
<s:url id="urlBack" action="myAction" includeParams="none" escapeAmp="false">
<s:param name="period.periodId" value="%period.periodId"></s:param>
</s:url>
<input type="button" onclick="javascript:cancel()" value="<s:text name="common.button.cancel"/>"/>
</td>
</tr>

2、js函数写法如下:
function cancel()
if (!isModified || (isModified && askConfirmCancel()))
window.location.replace('<s:property value="#urlBack"/>');



这样就是可以通过'<s:property value="#urlBack"/>'传值给js函数 window.location.replace了。
参考技术B <script>
var val = '$value';
var val = '<s:property value="属性名">';
</script>

关于js在jsp页面中获取session的问题

js最好写在另外一个xxx.js文件里面,我想通过js获取session,比如做一个登录模块,根据session是否存在,判断是否登录!请大虾帮助下

很不幸的告诉你,js不能操作session,但是你可以现在jsp中把session中的值提取出来,
<%String str = session.getParameter("xxxx")%>
然后再js中用var a=<%=str%>获取,再 判段
参考技术A 当然是提交第一个页面的时候再次加载该页面并传值到另一个页面。举个简单的例子:你要登录一个论坛,首先下载了一个登录的jsp页面,你还没有输入任何信息,这个时候jsp的登录页面早就下载了,但在你提交个人信息之前服务器怎么可能就把你的session分配好了呢?必须等你提交的时候把你所填写的信息发送(就是你所说的传值时才加载). 另外,所有动态页面都是在服务器端运行程序的,java程序不会在你的浏览器中运行的,你所得到的只是在服务器端动态执行后的返回结果而已。 参考技术B js是不可能读到session的,因为session是存储在服务器端的,而js是客服端脚本追问

这是指的JSP页面

追答

这管是什么页面session值都是存储在服务器端的,除非你像下面的这位这样在读页面的时候动态将
session值写入js代码中,否则肯定是读不到的

参考技术C <script language='javascript'>
function test()

var result = "<%=session.getAttribute("username")%>";
if(result!="")
alert("已经登录!");
else
alert("对不起!您尚未登录!");


</script>追问

大虾,提示这句有错误,帮忙看下:var result = "";

追答

我测试过了,完全没有问题。
我的页面cs.jsp代码如下:

function test()

var result = "";
if(result!="")
alert("已经登录!" + result);
else
alert("对不起!您尚未登录!");


test();

本回答被提问者和网友采纳

以上是关于我想在jsp页面中用js获取s:property中的value要怎么办的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面函数中如何获取sevlet传过来的List

关于js在jsp页面中获取session的问题

href 传值 中文乱码问题

jquery 中用jsp 读取 modelmap

jsp中,用ajax获取数据

jQuery 获取jsp页面中用iframe引入的jsp页面中的值