在JSP文件中,相同的页面结构怎么制作?

:D 大家好,又来麻烦各位了。

之前在PHP中可以通过include这种方式来调用,比如说侧边的栏目,顶部的导航,页脚部份,但是在JSP中却发现一个问题:如果你的JSP文件不加页面的头部,在eclipse中是无法保存的(因为无法确定页面的编码问题)。。。纠结,如果加了,那么调用其它文件的这个文件最终编译出来就会有很多页面头部,这种结构看着很头疼啊。

不知道各位前辈是怎么处理这个问题的呢?

其实我想达到的目的很简单:一个系统里,通用一个头部、侧边导航、底部页脚,而且最终调用了这些文件的那个文件的结构是合理的。还请各位老师能够指点一下解决方法,先谢谢了。

[code="java"]
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
[/code]
这样就可以了,如果你是使用weblogic服务器,对页面检查严格,如果一个页面中有多个
pageEncoding="UTF-8"就会报错的

使用iframe就可以了

jsp中有两种方式,静态的包含是:
[code="java"]
< %@ include file=” ”%>[/code]

动态的包含是:

[code="java"] < jsp:include page=” ” flush=”true”/>[/code]

还有一种,就是masterpage模板,你的要求用这个框架实现最好不过。

<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


My JSP 'index.jsp' starting page






<!--

-->























用iframe后也不但简洁,在jsp编译后页面也还是一样的整洁!而且与你具体使用的语言无关!

如果你不用iframe,那么在jsp中你就只能用< %@ include%> 或者< jsp:include page=” ”/>这两个标签了

使用这两个标签都会导致你所说的也就是你厌烦的:文件最终编译出来就会有很多页面头部!

不过你可以把Eclipse中jsp页面保存编码设置一个默认值,这样就可以保存了,那么jsp页面可以不指定头部和尾部,直接写内容,你只需在你的主页中加上页面源码中加上头部和尾部!

[quote]编译出来就会有很多页面头部[/quote]

不要用iframe。。。
直接用jsp:include

另外,不需要在每个jsp头部用

标签,只在每个jsp头部用
<@page contentType =" xxxxx"; pageEncoding="xxxx" />,应该就可以了吧

楼主你在做头部、尾部、侧边不要做成完整的HTML,只做你需要的那部分,比如说,只有一个div,顶部加上这个<%@ page language="java" pageEncoding="utf-8"%> 就是OK的。

头部的话,也不要包含所有的标签,比如html、head啦、头部专门是头部的JSP,head内部部分再做一个JSP,组合好一个页面后,只要粘贴复制就可以了,现在都是这个做法,多分一些页面,既灵活又好管理。

[quote]这才是正确的完整的格式吧?差点被误导了,不加charset的话语法好像有问题。[/quote]
哈哈哈 我只是随手写写意思意思啦

为什么是乱码呢? 如果字符集从GBK改成utf-8呢?

如果是要用GBK的话,jsp文件本身的编码格式也要用GBK
eclipse里右键jsp文件,属性里设置编码 不过建议用utf-8吧

可以,可以一个过滤器,或者将tomcat的server.xml里面的编码就统一设置成指定的编码

[code="java"]更改了页面的编码设置,保存后,属性里的自己就变了[/code]
在eclipse里是大部分情况会自动变的,但是有时会出问题,比如项目属性默认的编码是defaul(determined form content) 这个时候会自动的也就是说由页面内容的编码决定,但是有人会配置other 比如强制utf-8 这样就不会自动了。。。。

文件属性的编码是对应jsp里的 pageEncoding="xxxx"的

request.setCharacterEncoding("GBK");和<%@ page language="java" contentType="text/html; charset=GBK"/>效果一样的

或者像hu437说的,配置过滤器,或者是统一所有的编码 包括数据库、web服务器之类的

[quote]在接收页面,拿到的数据是乱码[/quote]
你这里的数据是指什么数据?网页是乱码?还是网页从后台异步获取了数据是乱码?