OpenCms中简单的Login模板实例代码

转载 2012年03月28日 11:17:34

以下代码在JSP中实现OpenCms用户的登陆,并且转入相应的项目的特定页面.希望对大家有所帮助。

CODE:

<%@ page import="java.util.* ,
org.opencms.jsp.*,
org.opencms.file.*,
com.opencms.core.*,
org.opencms.main.CmsException" %>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>

<%
String sErrorMessage = null;
String sName = null;
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
boolean logout = "true".equals(request.getParameter("logout"));

CmsObject oCms = cms.getCmsObject();

if(logout){
session.invalidate();
System.out.println("DesLogeado");
}

if(request.getParameter("name") != null && request.getParameter("password") != null){

String sUsername = (String)request.getParameter("name");
String sPassword = (String)request.getParameter("password");
try{
oCms.loginUser(sUsername, sPassword);
oCms.getRequestContext().setCurrentProject(oCms.readProject("Online"));//登陆的项目
response.sendRedirect(cms.link("/"));//转到登陆以后的页面
}catch(CmsException cmsE){
sErrorMessage = "用户登陆错误!";
}
}

if(!cms.user("name").equals("Guest")){

%>
<退出登陆:
<form method="post" action="<%= cms.link(oCms.getRequestContext().getUri()) %>" target="_self" name="logout" topmargin="0" marginheight="0" style="margin-top:0px; margin-bottom:0px;">
<input type="hidden" name="logout" value="true"><input type="submit" value="<< 退出">
</form>
<br>
<%}else{%>
<form method="post" action="<%= cms.link(oCms.getRequestContext().getUri()) %>" target="_self" name="login" topmargin="0" marginheight="0" style="margin-top:0px; margin-bottom:0px;">
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<% if(sErrorMessage != null) { %>
<tr>
<td class="login_error"><%= sErrorMessage %>
</td>
</tr>
<% } %>
<tr>
<td width="1" valign="top" bgcolor="#6166AB">&nbsp;</td>
<td valign="top"></td>
<td valign="top">
<table width="60%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="54%">账号:</td>
<td width="46%"><input type="text" size="10" name="name" ></td>
</tr>
<tr >
<td>密码:</td>
<td><input name="password" type="password" size="10" ></td>
</tr>
<tr >
<td colspan="2">
<div align="right">
<input name="submit" type="submit" value="登陆 >>">
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<br>
<%}%>

 

自定义登陆界面

CODE:

<%@
page session="true"
import="org.opencms.main.*,
org.opencms.jsp.*,
org.opencms.file.*,
java.lang.String" %><%
CmsJspActionElement cms = new CmsJspActionElement(pageContext,request,response);

String user = request.getParameter("user");
String password = request.getParameter("password");
String url = request.getParameter("url");

if( url==null || url.length()==0 || url.equalsIgnoreCase("null") )
url = cms.link("/index.html");

boolean loginFailed = false;

//如果表单提交 => 试着登陆并转向给定的 URl
if((user!=null)&&(user.length()!=0)) {
try{
CmsObject cmsObject = cms.getCmsObject();
cmsObject.loginUser(user, password);
CmsProject cmsproject = cmsObject.readProject("Offline");
cmsObject.getRequestContext().setCurrentProject(cmsproject);
cmsObject.getRequestContext().setSiteRoot("/sites/default");

//登陆成功-重定向
response.sendRedirect(url);

} catch ( CmsException e ) {
loginFailed = true;
}
}

//no user submitted or login failed => show login form
if((user==null)||(user.length()==0)||loginFailed) {
//提交表单
%><!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head><title>Frontend login</title></head>
<body onload="document.forms[0].elements[0].focus()">

<%if (loginFailed) { %><em>登陆失败!</em><% } %>

<h1>请登陆:</h1>
<form method="post" action="<%=cms.info("opencms.url")%>">
<input type="hidden" name="url" value="<%=url%>" />
<p>用户: <input name="user" /></p>
<p>密码: <input name="password" type="password" /></p>
<p><input type="submit" value="登陆" /></p>
</form></body></html><%
}
%>

Opencms9 学习笔记1

开发演示页面有一个错误,通过这个地址,不能够新建页面,提示 /opencms/dev-demo/collector-with-detail-page/...
  • xuaa
  • xuaa
  • 2014年06月18日 00:07
  • 3305

opencms8.5.0-编写布局模板页

运用opencms编写页面布局一般有2种形式,(主页列表信息显示页面和详细信息显示页面),当然自己也可以写更多形式的页面布局,这里作为实例仅供参考。下面是BP Africa(英国石油公司南非分公司)使...
  • nich002
  • nich002
  • 2013年03月18日 11:11
  • 2650

struts2实现页面模板化

 如果不想引入tiles等工具,可利用struts2本身实现简易的动态布局处理。 首先定义一个模板类...
  • vcshcn
  • vcshcn
  • 2014年05月19日 11:24
  • 2329

OpenCms JSP 模板开发——创建一个简单的JSP模板

OpenCms中的JSP模板就是一个普通的JSP页面,在特定的位置使用标签来包含内容,在这个的例子中,我们将要开发一个简单JSP模板,这个模板只是在内容(如、)周围添加了一些标记。   这个JSP模...
  • zhaifengmin
  • zhaifengmin
  • 2015年03月02日 09:04
  • 334

ASP.NET简单LOGIN控件实例

  • 2009年01月07日 16:38
  • 5KB
  • 下载

opencms8.5.0-编写布局模板页

运用opencms编写页面布局一般有2种形式,(主页列表信息显示页面和详细信息显示页面),当然自己也可以写更多形式的页面布局,这里作为实例仅供参考。下面是BP Africa(英国石油公司南非分公司)使...
  • nich002
  • nich002
  • 2013年03月18日 11:11
  • 2650

OpenCms9系列之四 如何创建模板

本来按照计划是要完成FORMATTER 的家
  • qiujoe
  • qiujoe
  • 2014年06月05日 11:19
  • 2968

openCms建站实例一(建立站点文件夹)

一、建立站点的文件夹结构    在sites的文件夹下面建立站点的文件夹如"mysite",这个文件夹就是站点的文件夹,此站点的所有文件及文件夹在此文件夹下面,然后再“mysite”文件夹下面建立不同...
  • lq305
  • lq305
  • 2011年01月04日 17:02
  • 1932

OpenCms集成Lucene引擎,搜索功能简单范例

%@page language="java" pageEncoding="UTF-8"%> %@page import="org.opencms.jsp.CmsJspActionElement"%>...
  • YuexiaQingsi
  • YuexiaQingsi
  • 2012年03月28日 12:22
  • 2340

opencms简单快速建站过程

1.       登录工作台 2.       创建网站目录 切换 站点到 / 点击 sites, 然后点击 新建。 在sites下创建文件夹 选择 文件夹, 点击 继续, 填入文...
  • frinder
  • frinder
  • 2013年10月21日 22:48
  • 871
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenCms中简单的Login模板实例代码
举报原因:
原因补充:

(最多只允许输入30个字)