js?还是指JsP的脚本段。
先看一般是如何显示数据吧,最后在介绍js:
我们可以使用JsP页面的脚本段,首先写个bean类:
public class somebean{
public string getname(){return "123";}
public void setname(string name){}
}
<!-- test.jsp-->
<%@ page contenttype="text/html;charset=utf-8" pageencoding="utf-8"%>
<%
somebean bean=new somebean();
out.println("bean-name is "+bean.getname());
%>
就是这样,脚本段里面的东西其实就是java代码,而JsP页面本质就是servlet。
我不太清楚你是否了解JsP的编译,如果你不知道的话我建议你到搜一下"JsP的java代码"一类的东西看看,这是基础。
你说的静态类应该是指类中包含静态域吧,除了内部类可以是静态的外,别的类都不行。
不论是静态域还是普通域,用上面的脚本段都可以搞定。
再看看struts,静态的显示我放在后面了:
首先我们来写一个action类:
public class Loginaction{
public string execute(){
return success;
}
public void setValue(somebean value){
this.value=value;
}
public somebean getValue(){
return this.value;
}
private somebean value;
}
再写出bean类:
public class somebean{
public string getname(){}
public void setname(string name){}
}
配置action应该不用说了,没什么特别的,不会就上网查吧。
我们现在说方法。
方法一:
使用ognL表达式。
你可以使用struts自带的标签,他们都支持ognL,比如s:property。
举个例子:
<!--test.jsp-->
<%@ page contenttype="text/html;charset=utf-8" pageencoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="value.name"/>
你访问Loginaction的时候s:property标签就会显示getValue().getname();
如果你想了解更多的struts2标签和ognL表达式建议去找更详尽的资料。
方法二:
当然是使用JsP本身的性质了。
通过request和session来获取值。
我们把action类改一下:
public class Loginaction{
public string execute(){
somebean value=new somebean();
value.setname("sfsfjsfje");
actioncontext context=actioncontext.getcontext();
//往request里放attribute
context.put("value",value);
//往session里放
context.getsession().put("value",value);
return success;
}
}
接下来我们改页面:
<!-- test.jsp -->
<%@ page contenttype="text/html;charset=utf-8" pageencoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%= ((somebean) request.getattribute("value")).getname() %>
<%= ((somebean) session.get("value")).getname() %>
ognL也可以显示静态域:
public class somebean{
public static string name="123";
public static string getalias(){return "abc";}
}
public class Loginaction{
public string execute(){return success;}
}
配置文件不写了。
页面:
<!--test.jsp-->
<%@ page contenttype="text/html;charset=utf-8" pageencoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!--还是用s:property-->
<s:property value="@somebean@name"/>
<s:property value="@somebean@getalias()"/>
当你访问Loginaction时就会显示somebean的name和getalias()。
不知道你是不是问的这个。
如果你要在js中调用数据也很容易:
<!-- test.jsp -->
<%@ page contenttype="text/html;charset=utf-8" pageencoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<script language="javascript" type="text/javascript">
var name="<s:property value="@somebean@name"/>";
</script>
这样js中就有相应的数据了。
原文地址:https://www.weidianyuedu.com/content/4020737142840.html