☆ 태그 적용 안되게..텍스트로...

htmlspecialchars(변수);

htmlspecialchars 함수는 HTML의 특수문자변환 함수로

< 는 &lt; 로 변환하고

> 는 &gt; 로 변환합니다.

★ addslashes() 함수
게시판에 글쓰기할때 사용자들이 특정문자를 입력하면 데이타베이스에 저장할때 오류가 발생할 수 있는데 이 함수는 따옴표나 \(역슬래쉬) 같은 문자들을 포함하고 있는 것에 문자열에서 해당문자의 앞에 역슬래쉬 문자를 집어넣어서 반환해주는 함수임.

예를 들어, $a 라는 php 변수에 방명록에 입력된 내용이 기억되었다고 가정할때
프로그램에서 다음과 같은 명령을 썼다고 가정해보면..
query문으로 insert into dbtable (bang) values ('$a');
그런데 $a에 입력한 사람이 '설악산'이 좋아요.
라고 입력하면 php에서 파싱한 후에는 다음과 같은 query문이 되겠죠.
insert into dbtable (bang) values (''설악산'이 좋아요.');
이와 같이 되면 정확한 내용이 디비테이블에 저장될 수가 없습니다.
에러가 납니다. 문법이 안 맞다고..

따라서 $a = addslashes($a) 해준 다음에 query를 준다면 다음과 같은
의미로 변하고 정상적으로 저장되겠죠.
insert into dbtable (bang) values ('\'설악산\'이 좋아요.');
이와같이 특수문자로 부터 발생될 수 있는 에러를 피하기위해
특수문자 앞에 역스래쉬를 붙여주는 일을 하는 함수입니다.

나중에 DB에서 읽어와서 웹브라우저에 뿌려줄때는 원래대로 되돌려서
출력해야하니까 백슬래쉬를 제거해주는
함수를 사용해야하는데 이것이 stripslashes() 함수라지요..

★ 텍스트박스..

<TEXTAREA name="" STYLE="ime-mode:active; overflow:auto">

한/영 키를 누르지 않고도 한글로 나오게 하려면 ime-mode:active;

그냥 영어 나오게 하려면 ime-mode:inactive;

텍스트박스에 스크롤 필요시에만 생기게 하려면 overflow:auto

아예 없애려면 overflow:hidden

참고) textarea에서는 태그가 텍스트로 나온다;;

그래서 사용하는 방법은 textarea를 hidden으로 하고 레이어나 아이프레임을 써서 한다고 하는데

아직 해보진 않았다;;

사실..이모티콘을 선택하면 텍스트박스안에 이모티콘이 나오게 하려고 했으나;;

하다가 포기하고 원시적인 방법으로 대충 해결..-_-;;

☆ 글쓰면 밑줄 나오게 하는 방법..

방법이야 여러가지가 있겠지;;

리스트를 보여줄때는 하나 뿌려줄때마다 밑줄 이미지도 뿌려주게 하면 될테고..

근데 글 내용을 보여줄때 밑줄나오게 하는거라;;

배경으로 넣으면 된다네요..

<div style='background-image: url(밑줄이미지경로); font-size:9pt; line-height:30px'>

밑줄이미지 예) http://myhome.naver.com/plandas/bgLine.jpg

->퍼온거라누가만들었는지는 잘 모름

 

 

 

 pom.xml

 

<opensymphony.sitemesh-version>2.4.2</opensymphony.sitemesh-version>

<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>${opensymphony.sitemesh-version}</version>
</dependency>

 

 

/osstem.synervelly/src/main/webapp/WEB-INF/sitemesh.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<sitemesh>
    <property name="decorators-file" value="/WEB-INF/config/decorators.xml"/>
    <excludes file="${decorators-file}"/>

    <page-parsers>
        <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
    </page-parsers>

    <decorator-mappers>

        <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">
            <param name="property.1" value="meta.decorator"/>
            <param name="property.2" value="decorator"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper">
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper">
            <param name="match.MSIE" value="ie"/>
            <param name="match.Mozilla [" value="ns"/>
            <param name="match.Opera" value="opera"/>
            <param name="match.Lynx" value="lynx"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">
            <param name="decorator" value="printable"/>
            <param name="parameter.name" value="printable"/>
            <param name="parameter.value" value="true"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper">
            <param name="decorator" value="robot"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">
            <param name="decorator.parameter" value="decorator"/>
            <param name="parameter.name" value="confirm"/>
            <param name="parameter.value" value="true"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper">
        </mapper>

  

        <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
            <param name="config" value="${decorators-file}"/>
        </mapper>

    </decorator-mappers>

</sitemesh>  

 

 /osstem.synervelly/src/main/webapp/WEB-INF/config/decorators.xml

 <?xml version="1.0" encoding="euc-kr"?>


<decorators defaultdir="/WEB-INF/jsp/layout">
 <excludes><!-- 예외 URL -->
  
  
    </excludes>

    <decorator name="cadmin-main" page="main-layout.jsp">
        <pattern>/main/*</pattern>
    </decorator>

   
   
</decorators>

 /osstem.synervelly/src/main/webapp/WEB-INF/jsp/layout/main-layout.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><decorator:title default="제목없음" /></title>
<c:import url="/admin/include/style.do" />
<decorator:head />
</head>

<body onload="<decorator:getProperty property="body.onload" />">

<decorator:body />
</body>


</html> 

 

 

 

 

 

정부 프레임워크에 타일즈 적용

pom.xml

 

 

<org.apache.tiles-version>2.2.2</org.apache.tiles-version> 

 

<!-- tiles -->
  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-core</artifactId>
   <version>${org.apache.tiles-version}</version>
  </dependency>
  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-servlet</artifactId>
   <version>${org.apache.tiles-version}</version>
  </dependency>
  <dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-jsp</artifactId>
   <version>${org.apache.tiles-version}</version>
  </dependency>

 

 

 /WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml

설명 tilesViewResolver 설정 을 1순위

viewResolver 2 순위로 설정하여 화면에 뿌림

타일즈가 아닐경우는 일반적인  jsp 호출

 

<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
<property name="order" value="1" />
</bean>
<!-- Tiles 2 definition lists. 20110916. -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>classpath:/egovframework/tiles/layouts.xml</value>
</list>
</property>
</bean>
<!-- UrlBasedViewResolver InternalResourceViewResolver -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
<property name="order" value="2" />
</bean>

 

 

 

 

layouts.xml 

설정 맘대로 만지자.. 설정에 맞게만 ..

 <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
 
<tiles-definitions>
 
 <definition name="layouts-tiles" template="/WEB-INF/jsp/layouts-tiles.jsp">
  <put-attribute name="header"    value="/WEB-INF/jsp/header.jsp" />
  <put-attribute name="content"   value="" />
  <put-attribute name="footer"    value="/WEB-INF/jsp/footer.jsp" />
 </definition>
 
 <definition name="*.tiles" extends="layouts-tiles">
  <put-attribute name="content"   value="/WEB-INF/jsp/{1}.jsp" />
 </definition>
 <definition name="*/*.tiles" extends="layouts-tiles">
  <put-attribute name="content"   value="/WEB-INF/jsp/{1}/{2}.jsp" />
 </definition>
 <definition name="*/*/*.tiles" extends="layouts-tiles">
  <put-attribute name="content"   value="/WEB-INF/jsp/{1}/{2}/{3}.jsp" />
 </definition>
 
</tiles-definitions>

 

 jsp 파일 모음

jsp.zip