当前位置: 首页 > news >正文

wordpress数据库编码选择网站怎么优化推广

wordpress数据库编码选择,网站怎么优化推广,两个网站 一个域名,商城网站静态模板下载一、先写几个概念: (一)、OGNL: (1)、OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性&#xf…

一、先写几个概念:

(一)、OGNL:

(1)、OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。

(2)、Struts 2默认的表达式语言是OGNL

(二)、OGNL用法:

OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用。

(1)、“#”主要有三种用途:

  1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:
     名称 作用 例子
    parameters包含当前HTTP请求参数的Map#parameters.id[0]作用相当于request.getParameter("id")
    request包含当前HttpServletRequest的属性(attribute)的Map#request.userName相当于request.getAttribute("userName")
    session包含当前HttpSession的属性(attribute)的Map#session.userName相当于session.getAttribute("userName")
    application包含当前应用的ServletContext的属性(attribute)的Map#application.userName相当于application.getAttribute("userName")
    attr用于按request > session > application顺序访问其属性(attribute)#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止
  2. 用于过滤和投影(projecting)集合,如books.{?#this.price<100}
  3. 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}

(2)、“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。


(3)、“$”有两个主要的用途,用于在国际化资源文件中,引用OGNL表达式。在Struts 2和i18n中配置文件


(三)、ActionContext

这个东西简单理解就是存action上下文的,把request,session,application等全部放进去,然后再这个的内部它自己写好了get和set,

比如我们后台要用session时,直接ActionContext.getContext().getSession();就可以得到sessionl了。


二、后台往前台传值的实例

访问web元素又分为两种类型,每种类型下都有两种取值方法

(一)、取得Map类型request,session,application

        ——依赖于容器

        ——依赖注入(ioc)(主要用这个)


(二)、真实类型 HttpServletRequest, HttpSession, ServletContext的引用:

        ——依赖于容器

        ——依赖注入(ioc)


下面四个有四个实例分别介绍这四种方法:


前台页面:

提交表单时,四个按钮分别对应四种方法:

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%><% String context = request.getContextPath(); %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body><form name="f" action="" method=" post">
用户名:<input type="text" name="name"/>
密码:<input type="text" name="password"/><br />
<input type="button" value="submit1" οnclick="javascript:document.f.action='login/login1';document.f.submit();" />
<input type="button" value="submit2" οnclick="javascript:document.f.action='login/login2';document.f.submit();" />
<input type="button" value="submit3" οnclick="javascript:document.f.action='login/login3';document.f.submit();" />
<input type="button" value="submit4" οnclick="javascript:document.f.action='login/login4';document.f.submit();" />
</form></body>
</html>

效果如图:


structs.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.devMode" value="true" /><package name="login" extends="struts-default" namespace="/login"><action name="login*" class="com.bjsxt.struts2.user.action.LoginAction{1}"><result>/user_login_success.jsp</result></action></package>
</struts>


LocationAction1.java

这是依赖structs容器来操作session的

import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction1 extends ActionSupport {private Map request;private Map session;private Map application;public LoginAction1() {request = (Map)ActionContext.getContext().get("request");session = ActionContext.getContext().getSession();application = ActionContext.getContext().getApplication();}public String execute() {request.put("r1", "r1");session.put("s1", "s1");application.put("a1", "a1");return SUCCESS; }	
}


LoginAction2.java

这个是通过依赖注入来实现操作session等属性

import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {private Map<String, Object> request;private Map<String, Object> session;private Map<String, Object> application;//DI dependency injection//IoC inverse of controlpublic String execute() {request.put("r1", "r1");session.put("s1", "s1");application.put("a1", "a1");return SUCCESS; }@Overridepublic void setRequest(Map<String, Object> request) {this.request = request;}@Overridepublic void setSession(Map<String, Object> session) {this.session = session;}@Overridepublic void setApplication(Map<String, Object> application) {this.application = application;}}


LoginAction3.java

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction3 extends ActionSupport {private HttpServletRequest request;private HttpSession session;private ServletContext application;public LoginAction3() {request = ServletActionContext.getRequest();session = request.getSession();application = session.getServletContext();}public String execute() {request.setAttribute("r1", "r1");session.setAttribute("s1", "s1");application.setAttribute("a1", "a1");return SUCCESS; }}

LoginAction4.java

package com.bjsxt.struts2.user.action;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction4 extends ActionSupport implements ServletRequestAware {private HttpServletRequest request;private HttpSession session;private ServletContext application;public String execute() {request.setAttribute("r1", "r1");session.setAttribute("s1", "s1");application.setAttribute("a1", "a1");return SUCCESS; }@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;this.session = request.getSession();this.application = session.getServletContext();}}


项目结构如图所示:



http://www.hkea.cn/news/948585/

相关文章:

  • 未来网站开发需求多搜索网站有哪几个
  • 网站建设 成都郑州高端网站制作
  • 快站怎么做淘客网站深圳关键词
  • 做网站时如何去掉网站横条小红书软文案例
  • 图虫南宁百度快速排名优化
  • 上城网站建设app推广文案
  • 网站建设特点宁波seo搜索引擎优化公司
  • 地产商网站建设网球新闻最新消息
  • 做爰全过程网站免费的视频谷歌seo搜索引擎
  • 怎么架设网站seo推广培训
  • 自己网站做问卷调查网页设计学生作业模板
  • 清远企业网站排名深圳网站建设系统
  • 互助平台网站建设费用卡点视频免费制作软件
  • 上海做b2b国际网站公司排名优化公司电话
  • 裙晖wordpress重庆seo整站优化
  • 乌克兰网站后缀谷歌浏览器下载电脑版
  • 建设部网站撤销注册资质的都是公职人员吗正规网络公司关键词排名优化
  • 杂志网站建设推广方案铜川网络推广
  • 网站建设后怎么搜索引擎优化解释
  • 网站建设维护 天博网络成都营销型网站制作
  • 秦皇岛北京网站建设百度广告投放电话
  • 团购做的比较好的网站营销推广ppt
  • 网站怎么做网站地图重庆网站制作公司哪家好
  • wordpress改地址后打不开seo品牌优化整站优化
  • 网页设计师证书含金量高吗百度网络优化
  • 咸阳网站开发长沙seo优化公司
  • 网站通cms国内十大搜索引擎排名
  • centos7安装 wordpress网站如何进行seo
  • 设计师灵感网站美国今天刚刚发生的新闻
  • 重庆南岸营销型网站建设公司推荐竞价sem托管