本文目录一览:
- 1、请问如何在js中遍历jsp页面里的java代码(如List),程序代码如下
- 2、如何在HTML页面中写java代码
- 3、运行时可调用浏览器打开一个网页,网页地址在代码中的java代码怎么写?
- 4、在jsp页面写了一部分java代码,这样好不?
请问如何在js中遍历jsp页面里的java代码(如List),程序代码如下
js肯定是不能直接操作java的list啊,你可以把list循环成一个json格式的字符串如:
String str="";
for(int i=0;ilist2.size();i++){
str+=("{id:'"+list2.get(i).getId()+"',pid:'"+list2.get(i).getparentId()+"'},");
}
if(str.length()0){
str="["+str.substring(0,str.length()-1)+"]";
}
然后js里面这样var list='%=str %';
list=new Function("return "+ list)();
这样后list就是个和java中list差不多的对象数组了
list[i].id等价于java的list2.get(i).getId()
如何在HTML页面中写java代码
Java要运行html代码,需要运行在服务器端,也就是servlet容器中,经过容器编译解析,返回html静态内容,示例如下:
在servlet里面写就可以了
引入一系列包
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
public class Servlet1 extends HttpServlet {
public void doGet(ServletRequest req,ServletResponse res)throws ServletException, IOException{try{PrintWriter pw=res.getWriter();//在浏览器输出需要
pw.println("scriptscript");}catch(exception e){="" e.printstacktrace();="" 为发现调试错误}}}=""
运行时可调用浏览器打开一个网页,网页地址在代码中的java代码怎么写?
网页地址在代码中的java代码写法如下:
package com.test;
import java.lang.reflect.Method;
//实现打开浏览器并跳到指定网址的类
public class BareBonesBrowserLaunch {
public static void openURL(String url) {
try {
browse(url);
} catch (Exception e) {
}
}
private static void browse(String url) throws Exception {
//获取操作系统的名字
String osName = System.getProperty("os.name", "");
if (osName.startsWith("Mac OS")) {
//苹果的打开方式
Class fileMgr = Class.forName("com.apple.eio.FileManager");
Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
openURL.invoke(null, new Object[] { url });
} else if (osName.startsWith("Windows")) {
//windows的打开方式。
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
} else {
// Unix or Linux的打开方式
String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count browsers.length browser == null; count++)
//执行代码,在brower有值后跳出,
//这里是如果进程创建成功了,==0是表示正常结束。
if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
browser = browsers[count];
if (browser == null)
throw new Exception("Could not find web browser");
else
//这个值在上面已经成功的得到了一个进程。
Runtime.getRuntime().exec(new String[] { browser, url });
}
}
}
//主方法 测试类
public static void main(String[] args) {
String url = "";
BareBonesBrowserLaunch.openURL(url);
}
在jsp页面写了一部分java代码,这样好不?
jsp文件中存在一些java代码是在所难免的,不然也不用使用jsp了,纯html就好了嘛,但对于题目中的“一部分”是指多少并未可知,如果太多确实会有影响的,所以一般不建议这样做,影响大致如下所列:
1、根据MVC思想,JSP属于VIEW层,不宜存在太多java的代码,view层应该只有布局、样式相关的代码,jsp中包含太多java代码就和MVC思想有出入了。
2、可读性差,大多公司中,JSP是有专业的前台人员进行维护的,但这些前台人员,只需要具备HTML、JS、CSS、JQUERY等前端技术,一般都不懂得Java代码,在jsp中写太多java代码,会使可读性变差,不便于前台人员维护。
3、不便于维护。把多数java代码写在jsp页面中,而更多的代码还是在后台的java文件中的,这样在开发过程中就需要多个文件一起看,出了问题也要一起修改,这要造成了维护代码的负担。
4、不易于调试。其实更确切的说是不能调试。jsp文件中是无法加断点的,这样写出的代码如果存在问题却编译通过的话,想找起来会相当麻烦。
也正因为会有上述所说的这些影响,但开发者又有时需要在jsp中输入java代码,所以才有jstl、el表达式等技术出现可以在jsp页面替换掉那些复杂的java代码。