下面是使用cookie保存皮肤的代码:
backbean:
@Scope(SESSION)
@Name("skinBean")
public class SkinBean {
private String skin = "blueSky";
public String getSkin() {
HttpServletRequest httpServletRequest = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
Cookie[] cookies = httpServletRequest.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
if (cookies[i].getName().equalsIgnoreCase("skin")) {
this.skin = cookies[i].getValue();
break;//只取得最后选择的皮肤
}
}
}
return skin;
}
public void setSkin(String skin) {
this.skin = skin;
HttpServletResponse httpServletResponse = (HttpServletResponse) FacesContext
.getCurrentInstance().getExternalContext().getResponse();
Cookie cookie = new Cookie("skin", skin);
cookie.setMaxAge(365);
cookie.setComment("Richfaces skin");
httpServletResponse.addCookie(cookie);
}
public void skinChangeListener(ActionEvent event){
//HtmlSelectOneMenu ss = (HtmlSelectOneMenu) event.getComponent().findComponent("selectSkin");
//String selected=ss.getValue().toString();
//this.skin=selected;
}
skin.xhtml
<h:selectOneMenu id="selectSkin" value="#{skinBean.skin}">
<f:selectItem itemLabel="Wfw" itemValue="WfwSkin" />
<f:selectItem itemLabel="Plain" itemValue="plain" />
<f:selectItem itemLabel="EmeraldTown" itemValue="emeraldTown" />
<f:selectItem itemLabel="BlueSky" itemValue="blueSky" />
<f:selectItem itemLabel="Wine" itemValue="wine" />
<f:selectItem itemLabel="JapanCherry" itemValue="japanCherry" />
<f:selectItem itemLabel="Ruby" itemValue="ruby" />
<f:selectItem itemLabel="Classic" itemValue="classic" />
<f:selectItem itemLabel="DeepMarine" itemValue="deepMarine" />
<a4j:support event="onchange" limitToList="true" actionListener="#{skinBean.skinChangeListener}" oncomplete="
window.location.href=window.location.href;
//window.location.reload(true);"
reRender="selectSkin" ajaxSingle="true">
</a4j:support>
</h:selectOneMenu>
注意:因为request和response不同步的原因,所以必须让页面刷新一次
分享到:
相关推荐
3. **Cookie使用**:在示例代码中使用了jQuery的cookie插件来保存用户的皮肤设置。当用户选择一种皮肤时,这个选择会被保存在cookie中,并且当用户重新打开页面时,这个皮肤设置会被读取并应用。 4. **页面无刷新...
总结来说,实现"实时切换CSS风格、皮肤并保存"的功能,需要对CSS和JavaScript有深入的理解,能够有效地管理外部样式表,使用cookie持久化用户的选择,以及编写适当的JavaScript代码来处理这些操作。这不仅提高了用户...
这篇文章将详细介绍如何使用 `jquery.cookie.js` 实现网站皮肤的切换功能。 首先,你需要引入 jQuery 库和 `jquery.cookie.js` 插件到你的 HTML 页面中。通常,这些文件可以从 CDN(内容分发网络)上获取,或者将其...
【简洁 牛贰佰 皮肤可记入COOKIE】是一个针对网站界面设计的资源包,它强调的是简洁风格和用户友好的体验。"牛贰佰"可能是这个皮肤的设计者或者...同时,了解如何利用Cookie保存用户偏好也是提升网站互动性的重要技能。
// 使用jQuery Cookie插件保存皮肤选择 $.cookie('currentSkin', skin, { expires: 365, path: '/' }); // 过期时间为365天 } }); ``` 4. **jQuery Cookie插件** 上述代码中,我们使用了jQuery的Cookie插件来...
总结来说,"jquery实现换肤带cookie"是指使用jQuery库处理DOM和事件,通过切换CSS文件实现界面换肤,同时借助cookie技术保存用户的皮肤选择,提供持久化的个性化体验。这个过程涉及到前端开发的多个方面,包括CSS...
2. **在当前浏览器更换皮肤并保存到Cookie**: 为了实现皮肤设置的持久化,可以将用户选择的皮肤存储在Cookie中。当用户下次访问应用时,可以读取Cookie中的信息,自动加载上次选择的皮肤。在示例代码中,当用户...
这个函数会更新当前页面以及所有子 iframe 中的皮肤 CSS 文件链接,同时设置 Cookie 保存用户的皮肤选择,代码如下: ```javascript changeTheme = function(themeName) { var $easyuiTheme = $('#easyuiTheme');...
// 保存皮肤样式的id到cookie中 } ``` 在这个函数中,我们首先为被点击的皮肤添加一个`selected`类,同时移除其他皮肤的`selected`类,使得页面上仅显示当前选中的皮肤。然后,我们更新了`<link>`标签的`href`属性...
jQueryChangeSkin是一款基于jQuery库开发的皮肤切换插件,它主要功能是实现网站用户界面的动态换肤,同时支持利用cookie来保存用户的皮肤选择,使得用户在下次访问时能够自动加载之前选择的皮肤,提供良好的用户体验...
JavaScript(Js)换肤功能是网页...这个实例对于初学者来说是一个很好的学习资源,可以让你掌握JavaScript操作CSS和使用Cookies保存本地设置的基本方法。如果你在实践中遇到任何问题,可以留言寻求帮助,乐意为你解答。
3. **Cookie**:Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存,当用户再次访问同一网站时,浏览器会将Cookie回传给服务器。Cookie用于存储用户状态、偏好设置等信息,可以跨请求持久化...
此外,还有可能涉及到本地存储或cookie来保存用户的皮肤选择,以便在下次访问时自动应用。 为了实现这个示例,开发者可能使用了MVC(Model-View-Controller)或MVVM(Model-View-ViewModel)等设计模式,它们强调了...
JavaScript(简称JS)换肤功能是网页应用中常见的...通过以上步骤,我们可以实现JavaScript的换肤功能,并通过Cookie保存用户的选择,提供个性化的用户体验。在实际项目中,还需要结合具体需求进行适当的调整和优化。
// 如果没有保存的皮肤信息,则使用默认皮肤 $("body").attr("class", "fu1"); } }); ``` #### 四、jQuery.cookie.js插件的高级用法 ##### 1. 设置Cookie ```javascript // 设置一个有效期为7天的cookie $....
接着,我们需要实现cookie功能来保存用户的皮肤选择。Cookie是一种在客户端存储数据的小型文本文件,当用户下次访问网站时,浏览器会自动发送这些文件,使得网站可以记住用户的选择。在JavaScript中,我们可以使用`...
JavaScript结合CSS实现Ajax无刷新改变网页模板(风格)的实例,css js实时切换风格皮肤,并存入cookie,可自动保存用户所选择的网页风格,下次打开后仍然是上次所选择的风格。css多风格、皮肤切换演示,用户一共可...
2. **视图状态(ViewState)或Cookie**: 为了保存用户的皮肤选择,Asp.net可以使用ViewState或Cookie。ViewState将信息存储在服务器端,而Cookie则存储在客户端。在用户每次访问时,系统可以根据这些存储的信息加载...
5. **存储用户偏好**:为了使用户的皮肤选择在下次访问时依然有效,可以使用浏览器的localStorage或cookie来保存用户的选择。当页面加载时,根据存储的偏好自动加载对应的CSS。 6. **响应式设计**:动态更换皮肤的...