Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
th-app-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Oscar Enrique Gonzalez Escurra
th-app-java
Commits
488c141e
Commit
488c141e
authored
Nov 15, 2021
by
Joel Florentin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
template inheritance jsp. validacion de nombre duplicado en tecnologia y cargo
parent
b18ad9e9
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
400 additions
and
411 deletions
+400
-411
.vscode/settings.json
+4
-0
curriculumsearch/pom.xml
+7
-0
curriculumsearch/src/main/java/com/roshka/controller/CargoController.java
+7
-2
curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java
+7
-2
curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java
+3
-3
curriculumsearch/src/main/java/com/roshka/repositorio/CargoRepository.java
+1
-0
curriculumsearch/src/main/java/com/roshka/repositorio/TecnologiaRepository.java
+2
-0
curriculumsearch/src/main/resources/application.properties
+6
-3
curriculumsearch/src/main/webapp/jsp/cargo-form.jsp
+38
-53
curriculumsearch/src/main/webapp/jsp/cargos.jsp
+48
-64
curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp
+35
-45
curriculumsearch/src/main/webapp/jsp/convocatorias.jsp
+8
-19
curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp
+6
-25
curriculumsearch/src/main/webapp/jsp/index.jsp
+1
-1
curriculumsearch/src/main/webapp/jsp/layouts/base.jsp
+80
-0
curriculumsearch/src/main/webapp/jsp/postulantes.jsp
+130
-142
curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp
+12
-33
curriculumsearch/src/main/webapp/jsp/tecnologias.jsp
+5
-19
No files found.
.vscode/settings.json
0 → 100644
View file @
488c141e
{
"java.configuration.updateBuildConfiguration"
:
"interactive"
}
\ No newline at end of file
curriculumsearch/pom.xml
View file @
488c141e
...
@@ -74,6 +74,13 @@
...
@@ -74,6 +74,13 @@
<!-- <version>1.18.22</version>-->
<!-- <version>1.18.22</version>-->
<!-- <scope>provided</scope>-->
<!-- <scope>provided</scope>-->
<!-- </dependency>-->
<!-- </dependency>-->
<dependency>
<groupId>
kr.pe.kwonnam.jsp
</groupId>
<artifactId>
jsp-template-inheritance
</artifactId>
<version>
0.3.RELEASE
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
curriculumsearch/src/main/java/com/roshka/controller/CargoController.java
View file @
488c141e
package
com
.
roshka
.
controller
;
package
com
.
roshka
.
controller
;
import
javax.validation.Valid
;
import
com.roshka.modelo.Cargo
;
import
com.roshka.modelo.Cargo
;
import
com.roshka.repositorio.CargoRepository
;
import
com.roshka.repositorio.CargoRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -42,8 +44,11 @@ public class CargoController {
...
@@ -42,8 +44,11 @@ public class CargoController {
}
}
@PostMapping
(
path
=
{
"/cargo"
,
"/cargo/{id}"
})
@PostMapping
(
path
=
{
"/cargo"
,
"/cargo/{id}"
})
public
String
guardarCargo
(
@ModelAttribute
Cargo
cargo
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
)
{
public
String
guardarCargo
(
@Valid
@ModelAttribute
Cargo
cargo
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
,
Model
model
)
{
if
(
result
.
hasErrors
());
if
(
result
.
hasErrors
()
||
(
id
==
null
&&
cargoRepo
.
existsByNombreIgnoreCase
(
cargo
.
getNombre
())
)){
model
.
addAttribute
(
"mismoNombre"
,
true
);
return
"cargo-form"
;
};
if
(
id
!=
null
)
cargo
.
setId
(
id
);
if
(
id
!=
null
)
cargo
.
setId
(
id
);
cargoRepo
.
save
(
cargo
);
cargoRepo
.
save
(
cargo
);
System
.
out
.
println
(
cargo
.
getNombre
());
System
.
out
.
println
(
cargo
.
getNombre
());
...
...
curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java
View file @
488c141e
package
com
.
roshka
.
controller
;
package
com
.
roshka
.
controller
;
import
javax.validation.Valid
;
import
com.roshka.modelo.Tecnologia
;
import
com.roshka.modelo.Tecnologia
;
import
com.roshka.repositorio.TecnologiaRepository
;
import
com.roshka.repositorio.TecnologiaRepository
;
...
@@ -45,8 +47,11 @@ public String addtecnologiaView(Model model,@PathVariable(required = false) Long
...
@@ -45,8 +47,11 @@ public String addtecnologiaView(Model model,@PathVariable(required = false) Long
}
}
@PostMapping
(
path
=
{
"/tecnologia"
,
"/tecnologia/{id}"
})
@PostMapping
(
path
=
{
"/tecnologia"
,
"/tecnologia/{id}"
})
public
String
addtecnologia
(
@ModelAttribute
Tecnologia
tecnologia
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
)
{
public
String
addtecnologia
(
@Valid
@ModelAttribute
Tecnologia
tecnologia
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
,
Model
model
)
{
if
(
result
.
hasErrors
());
if
(
result
.
hasErrors
()
||
(
id
==
null
&&
tecRepo
.
existsByNombreIgnoreCase
(
tecnologia
.
getNombre
()))){
model
.
addAttribute
(
"mismoNombre"
,
true
);
return
"tecnologia-form"
;
}
if
(
id
!=
null
)
tecnologia
.
setId
(
id
);
if
(
id
!=
null
)
tecnologia
.
setId
(
id
);
tecRepo
.
save
(
tecnologia
);
tecRepo
.
save
(
tecnologia
);
System
.
out
.
println
(
tecnologia
.
getNombre
());
System
.
out
.
println
(
tecnologia
.
getNombre
());
...
...
curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java
View file @
488c141e
...
@@ -15,17 +15,17 @@ public class Tecnologia {
...
@@ -15,17 +15,17 @@ public class Tecnologia {
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Id
@Id
@Column
(
name
=
"id"
)
@Column
(
name
=
"id"
)
private
l
ong
id
;
private
L
ong
id
;
@Column
(
name
=
"nombre"
)
@Column
(
name
=
"nombre"
)
@NotBlank
(
message
=
"Este campo no puede estar vacio"
)
@NotBlank
(
message
=
"Este campo no puede estar vacio"
)
private
String
nombre
;
private
String
nombre
;
public
l
ong
getId
()
{
public
L
ong
getId
()
{
return
id
;
return
id
;
}
}
public
void
setId
(
l
ong
id
)
{
public
void
setId
(
L
ong
id
)
{
this
.
id
=
id
;
this
.
id
=
id
;
}
}
public
String
getNombre
()
{
public
String
getNombre
()
{
...
...
curriculumsearch/src/main/java/com/roshka/repositorio/CargoRepository.java
View file @
488c141e
...
@@ -8,4 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -8,4 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
public
interface
CargoRepository
extends
JpaRepository
<
Cargo
,
Long
>{
public
interface
CargoRepository
extends
JpaRepository
<
Cargo
,
Long
>{
public
List
<
Cargo
>
findByNombreContainingIgnoreCase
(
String
nombre
);
public
List
<
Cargo
>
findByNombreContainingIgnoreCase
(
String
nombre
);
public
boolean
existsByNombreIgnoreCase
(
String
nombre
);
}
}
curriculumsearch/src/main/java/com/roshka/repositorio/TecnologiaRepository.java
View file @
488c141e
...
@@ -9,4 +9,6 @@ import com.roshka.modelo.Tecnologia;
...
@@ -9,4 +9,6 @@ import com.roshka.modelo.Tecnologia;
public
interface
TecnologiaRepository
extends
JpaRepository
<
Tecnologia
,
Long
>
{
public
interface
TecnologiaRepository
extends
JpaRepository
<
Tecnologia
,
Long
>
{
public
List
<
Tecnologia
>
findByNombreContainingIgnoreCase
(
String
nombre
);
public
List
<
Tecnologia
>
findByNombreContainingIgnoreCase
(
String
nombre
);
public
boolean
existsByNombreIgnoreCase
(
String
nombre
);
}
}
curriculumsearch/src/main/resources/application.properties
View file @
488c141e
spring.jpa.hibernate.ddl-auto
=
create-drop
spring.jpa.hibernate.ddl-auto
=
create-drop
spring.jpa.database-platform
=
org.hibernate.dialect.PostgreSQLDialect
spring.jpa.database-platform
=
org.hibernate.dialect.PostgreSQLDialect
#
spring.jpa.show-sql=true
spring.jpa.show-sql
=
true
spring.jpa.properties.hibernate.format_sql
=
true
spring.jpa.properties.hibernate.format_sql
=
true
#
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.SQL
=
DEBUG
#
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logging.level.org.hibernate.type.descriptor.sql.BasicBinder
=
TRACE
spring.sql.init.mode
=
always
spring.sql.init.mode
=
always
spring.sql.init.platform
=
postgres
spring.sql.init.platform
=
postgres
...
@@ -16,3 +16,5 @@ spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
...
@@ -16,3 +16,5 @@ spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
#server.port=8888
#server.port=8888
spring.mvc.view.prefix
=
/jsp/
spring.mvc.view.prefix
=
/jsp/
spring.mvc.view.suffix
=
.jsp
spring.mvc.view.suffix
=
.jsp
jsp-inheritance-prefix
=
/jsp/layouts/
jsp-inheritance-suffix
=
.jsp
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/cargo-form.jsp
View file @
488c141e
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%@
taglib
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
prefix=
"form"
uri=
"http://www.springframework.org/tags/form"
%
>
<
%@
page
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
contentType=
"text/html;charset=UTF-8"
language=
"java"
%
>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<html
lang=
"en"
>
<layout:extends name="layouts/base.jsp">
<head>
<layout:put block="contents" type="REPLACE">
<meta
charset=
"UTF-8"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title>
Cargo
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<div class="card d-flex flex-column justify-content-center align-items-center mx-auto mt-2 p-3" style="width: 20rem;">
<div class="card d-flex flex-column justify-content-center align-items-center mx-auto mt-2 p-3" style="width: 20rem;">
<h5
class=
"card-title"
>
${cargo.id == null ? "Agregar" : "Modificar"} Cargo
</h5>
<h5 class="card-title">${cargo.id == null ? "Agregar" : "Modificar"} Cargo</h5>
<form:form
<form:form
action=
"/cargo/${cargo.id == null ? '' : cargo.id}"
action="/cargo/${cargo.id == null ? '' : cargo.id}"
method=
"post"
method="post"
modelAttribute=
"cargo"
modelAttribute="cargo"
class=
"card-body d-flex flex-column"
class="card-body d-flex flex-column"
>
>
<div
class=
""
>
<div class="">
<form:label
class=
"form-label visually-hidden"
path=
"nombre"
<form:label class="form-label visually-hidden" path="nombre"
>
Nombre del cargo
>Nombre del cargo
</form:label>
</form:label>
<form:input
<form:input
type=
"text"
type="text"
path=
"nombre"
path="nombre"
class=
"form-control"
class="form-control ${ mismoNombre ? 'is-invalid' : ''}"
placeholder=
"Nombre del cargo"
required=
"true"
placeholder="Nombre del cargo" required="true"
/>
/>
</div>
<div id="validationServerUsernameFeedback" class="invalid-feedback">
<div
class=
"mt-2 align-self-end"
>
Este nombre ya existe
<input
type=
"submit"
value=
"Guardar"
class=
"btn btn-primary"
/>
</div>
</div>
</div>
</form:form>
<div class="mt-2 align-self-end">
</div>
<input type="submit" value="Guardar" class="btn btn-primary" />
</div>
</div>
</body>
</form:form>
</html>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
</layout:put>
</layout:extends>
curriculumsearch/src/main/webapp/jsp/cargos.jsp
View file @
488c141e
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib
prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ page
prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ page
contentType="text/html;charset=UTF-8" language="java" %>
contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<html
lang=
"en"
>
<layout:extends name="layouts/base.jsp">
<head>
<layout:put block="contents" type="REPLACE">
<meta
charset=
"UTF-8"
/>
<div class="container-xxl my-md-4 bd-layout">
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<h2>Lista de cargos</h2>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<div>
<title>
Cargo
</title>
<form>
<link
<label for="cargos">Nombre:</label>
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
<input
rel=
"stylesheet"
type="text"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
name="nombre"
crossorigin=
"anonymous"
id="nombre"
/>
value="${param.nombre}"
<script
/>
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
<input type="submit" value="Buscar" />
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
</form>
crossorigin=
"anonymous"
<a href="/cargo">Agregar Nuevo Cargo</a>
></script>
</div>
</head>
<div>
<body>
<table class="table">
<jsp:include
page=
"header.jsp"
/>
<thead>
<jsp:include
page=
"alerts.jsp"
/>
<tr>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<th scope="col">#</th>
<h2>
Lista de cargos
</h2>
<th scope="col">Cargo</th>
<div>
</tr>
<form>
</thead>
<label
for=
"cargos"
>
Nombre:
</label>
<tbody>
<input
<c:forEach items="${cargos}" var="cargo" varStatus="sta">
type=
"text"
<tr>
name=
"nombre"
<th scope="row">${sta.index+1}</th>
id=
"nombre"
<td>${cargo.getNombre()}</td>
value=
"${param.nombre}"
<td>
/>
<a href="/convocatorias?cargoId=${cargo.id}"
<input
type=
"submit"
value=
"Buscar"
/>
>Ver Convocatorias</a
</form>
>
<a
href=
"/cargo"
>
Agregar Nuevo Cargo
</a>
</td>
</div>
<td><a href="/cargo/${cargo.id}">Editar cargo</a></td>
<div>
</tr>
<table
class=
"table"
>
</c:forEach>
<thead>
</tbody>
<tr>
</table>
<th
scope=
"col"
>
#
</th>
</div>
<th
scope=
"col"
>
Cargo
</th>
</div>
</tr>
</layout:put>
</thead>
<layout:put block="scripts" type="APPEND">
<tbody>
<c:forEach
items=
"${cargos}"
var=
"cargo"
varStatus=
"sta"
>
</layout:put>
<tr>
</layout:extends>
<th
scope=
"row"
>
${sta.index+1}
</th>
<td>
${cargo.getNombre()}
</td>
<td>
<a
href=
"/convocatorias?cargoId=${cargo.id}"
>
Ver Convocatorias
</a
>
</td>
<td><a
href=
"/cargo/${cargo.id}"
>
Editar cargo
</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</body>
</html>
curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp
View file @
488c141e
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<html
lang=
"en"
>
<layout:extends name="layouts/base.jsp">
<head>
<layout:put block="contents" type="REPLACE">
<meta
charset=
"UTF-8"
>
<h2>${convocatoria.id == null ? "Agregar" : "Modificar"} Convocatoria</h2>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<div class="p-3 mb-2 bg-light text-dark border border-light ">
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<form:form action="/convocatoria/${convocatoria.id == null ? '' : convocatoria.id}" method="post" modelAttribute="convocatoria">
<title>
Convocatoria
</title>
<div class="mb-3 col-3">
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<form:label path="fechaInicioS" class="form-label">Fecha inicial</form:label>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
<form:input type="date" class="form-control" path="fechaInicioS" required="true"/>
</head>
<body>
</div>
<jsp:include
page=
"header.jsp"
/>
<div class="mb-3 col-3">
<jsp:include
page=
"alerts.jsp"
/>
<form:label path="fechaFinS" class="form-label">Fecha Fin</form:label>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<form:input type="date" class="form-control" path="fechaFinS" required="true"/>
<h2>
Agregar Convocatoria
</h2>
</div>
<div
class=
"p-3 mb-2 bg-light text-dark border border-light "
>
<div class="mb-3 col-3">
<form:form
action=
"/convocatoria/${convocatoria.id == null ? '' : convocatoria.id}"
method=
"post"
modelAttribute=
"convocatoria"
>
<form:label path="cupos" class="form-label">Cupos:</form:label>
<div
class=
"mb-3 col-3"
>
<form:input type="number" class="form-control" path="cupos" required="true"/>
<form:label
path=
"fechaInicioS"
class=
"form-label"
>
Fecha inicial
</form:label>
</div>
<form:input
type=
"date"
class=
"form-control"
path=
"fechaInicioS"
required=
"true"
/>
<div class="mb-3 col-3">
<form:label path="cargoId" class="form-label">Cargo</form:label>
</div>
<form:select class="form-select" path="cargoId" required="true">
<div
class=
"mb-3 col-3"
>
<c:forEach items="${cargos}" var="cargo">
<form:label
path=
"fechaFinS"
class=
"form-label"
>
Fecha Fin
</form:label>
<form:option value="${cargo.id}">${cargo.nombre} </form:option>
<form:input
type=
"date"
class=
"form-control"
path=
"fechaFinS"
required=
"true"
/>
</c:forEach>
</div>
</form:select>
<div
class=
"mb-3 col-3"
>
</div>
<form:label
path=
"cupos"
class=
"form-label"
>
Cupos:
</form:label>
<button type="submit" class="btn btn-primary">Guardar</button>
<form:input
type=
"number"
class=
"form-control"
path=
"cupos"
required=
"true"
/>
</form:form>
</div>
</div>
<div
class=
"mb-3 col-3"
>
</layout:put>
<form:label
path=
"cargoId"
class=
"form-label"
>
Cargo
</form:label>
<layout:put block="scripts" type="APPEND">
<form:select
class=
"form-select"
path=
"cargoId"
required=
"true"
>
<c:forEach
items=
"${cargos}"
var=
"cargo"
>
</layout:put>
<form:option
value=
"${cargo.id}"
>
${cargo.nombre}
</form:option>
</layout:extends>
</c:forEach>
</form:select>
</div>
<button
type=
"submit"
class=
"btn btn-primary"
>
Guardar
</button>
</form:form>
</div>
</div>
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/convocatorias.jsp
View file @
488c141e
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<html
lang=
"en"
>
<layout:extends name="layouts/base.jsp">
<head>
<layout:put block="contents" type="REPLACE">
<meta
charset=
"UTF-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<title>
Cargo
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body
>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>Lista de convocatorias</h2>
<h2>Lista de convocatorias</h2>
<div>
<div>
<form>
<form>
...
@@ -67,7 +56,8 @@
...
@@ -67,7 +56,8 @@
</table>
</table>
</div>
</div>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
</body>
</html>
</layout:put>
\ No newline at end of file
</layout:extends>
curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp
View file @
488c141e
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<!DOCTYPE html>
<layout:extends name="layouts/base.jsp">
<html
lang=
"en"
>
<layout:put block="contents" type="REPLACE">
<head>
<meta
charset=
"UTF-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<title>
Tecnologia
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2 style="text-align: center;">DETALLE POSTULANTE</h2>
<h2 style="text-align: center;">DETALLE POSTULANTE</h2>
<div style="padding: 10px;margin: 3px;border: 1px solid black;">
<div style="padding: 10px;margin: 3px;border: 1px solid black;">
...
@@ -107,13 +95,7 @@
...
@@ -107,13 +95,7 @@
</div>
</div>
<input type="submit" value="submit"/>
<input type="submit" value="submit"/>
</form:form>
</form:form>
</div>
</layout:put>
</layout:extends>
</div>
</div>
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/index.jsp
View file @
488c141e
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<title>
Document
</title>
<title>
RRHH
</title>
</head>
</head>
<body>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"header.jsp"
/>
...
...
curriculumsearch/src/main/webapp/jsp/layouts/base.jsp
0 → 100644
View file @
488c141e
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%@
taglib
prefix=
"form"
uri=
"http://www.springframework.org/tags/form"
%
>
<
%@
taglib
uri=
"http://kwonnam.pe.kr/jsp/template-inheritance"
prefix=
"layout"
%
>
<
%@
page
contentType=
"text/html;charset=UTF-8"
language=
"java"
%
>
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<title>
RRHH
</title>
</head>
<body>
<header>
<nav
class=
"navbar navbar-expand-lg navbar-light bg-light"
>
<div
class=
"container-fluid"
>
<a
class=
"navbar-brand"
href=
"#"
>
ROSHKA
</a>
<button
class=
"navbar-toggler"
type=
"button"
data-bs-toggle=
"collapse"
data-bs-target=
"#navbarNavDropdown"
aria-controls=
"navbarNavDropdown"
aria-expanded=
"false"
aria-label=
"Toggle navigation"
>
<span
class=
"navbar-toggler-icon"
></span>
</button>
<div
class=
"collapse navbar-collapse"
id=
"navbarNavDropdown"
>
<ul
class=
"navbar-nav"
>
<li
class=
"nav-item"
>
<a
class=
"nav-link active"
aria-current=
"page"
href=
"/home"
>
Home
</a>
</li>
<li
class=
"nav-item dropdown"
>
<a
class=
"nav-link dropdown-toggle"
href=
"#"
id=
"navbarDropdownMenuLink"
role=
"button"
data-bs-toggle=
"dropdown"
aria-expanded=
"false"
>
Cargos
</a>
<ul
class=
"dropdown-menu"
aria-labelledby=
"navbarDropdownMenuLink"
>
<li><a
class=
"dropdown-item"
href=
"/cargo"
>
Agregar Cargo
</a></li>
<li><a
class=
"dropdown-item"
href=
"/convocatoria"
>
Agregar Convocatoria
</a></li>
<li><a
class=
"dropdown-item"
href=
"/cargos"
>
Listar cargos
</a></li>
<li><a
class=
"dropdown-item"
href=
"/convocatorias"
>
Listar convocatorias
</a></li>
</ul>
</li>
<li
class=
"nav-item dropdown"
>
<a
class=
"nav-link dropdown-toggle"
href=
"#"
id=
"navbarDropdownMenuLink"
role=
"button"
data-bs-toggle=
"dropdown"
aria-expanded=
"false"
>
Tecnologias
</a>
<ul
class=
"dropdown-menu"
aria-labelledby=
"navbarDropdownMenuLink"
>
<li><a
class=
"dropdown-item"
href=
"/tecnologia"
>
Agregar
</a></li>
<li><a
class=
"dropdown-item"
href=
"/tecnologias"
>
Listar
</a></li>
</ul>
</li>
<li
class=
"nav-item dropdown"
>
<a
class=
"nav-link dropdown-toggle"
href=
"#"
id=
"navbarDropdownMenuLink"
role=
"button"
data-bs-toggle=
"dropdown"
aria-expanded=
"false"
>
Postulantes
</a>
<ul
class=
"dropdown-menu"
aria-labelledby=
"navbarDropdownMenuLink"
>
<li><a
class=
"dropdown-item"
href=
"/postulante"
>
Agregar
</a></li>
<li><a
class=
"dropdown-item"
href=
"/postulantes"
>
Listar
</a></li>
</ul>
</li>
<li
class=
"nav-item"
>
<a
class=
"nav-link"
href=
"/logout"
>
Salir
</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<layout:block
name=
"contents"
>
</layout:block>
</div>
<layout:block
name=
"scripts"
>
</layout:block>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/postulantes.jsp
View file @
488c141e
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<html
lang=
"en"
>
<layout:extends name="layouts/base.jsp">
<head>
<layout:put block="contents" type="REPLACE">
<meta
charset=
"UTF-8"
>
<h2>Lista de Postulantes</h2>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<div id="buscador">
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<form name="buscador">
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<label for="nombre">Nombre</label>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
<input type="text" name="nombre" id="nombre" value="${param.nombre}">
<title>
Lista de postulantes
</title>
<button>Buscar</button>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Lista de Postulantes
</h2>
<div
id=
"buscador"
>
<form
name=
"buscador"
>
<label
for=
"nombre"
>
Nombre
</label>
<input
type=
"text"
name=
"nombre"
id=
"nombre"
value=
"${param.nombre}"
>
<button>
Buscar
</button>
<br>
<label
for=
"estado"
>
Estado
</label>
<select
name=
"estado"
id=
"estado"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${estadoP}"
var=
"estados"
>
<option
value=
"${estados}"
${
param
.
estado =
=
estados
?
"
selected
"
:
""}
>
${estados.getEstado()}
</option>
</c:forEach>
</select>
<label
for=
"dispo"
>
Disponbilidad
</label>
<select
name=
"dispo"
id=
"dispo"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${disponibilidades}"
var=
"disponibilidad"
>
<option
value=
"${disponibilidad}"
${
param
.
dispo =
=
disponibilidad
?
"
selected
"
:
""}
>
${disponibilidad.getDescripcion()}
</option>
</c:forEach>
</select>
<label
for=
"tecId"
>
Tecnologias
</label>
<select
name=
"tecId"
id=
"tecId"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${tecnologias}"
var=
"tecnologia"
>
<option
value=
"${tecnologia.id}"
${
param
.
tecId =
=
tecnologia
.
id
?
"
selected
"
:
""}
>
${tecnologia.nombre}
</option>
</c:forEach>
</select>
<label
for=
"instId"
>
Institucion Educativa
</label>
<select
name=
"instId"
id=
"instId"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${institucionesEducativas}"
var=
"inst"
>
<option
value=
"${inst.id}"
${
param
.
instId =
=
inst
.
id
?
"
selected
"
:
""}
>
${inst.nombre}
</option>
</c:forEach>
</select>
<br>
<br>
<label
for=
"lvlEng"
>
Nivel de Ingles
</label>
<label for="estado">Estado</label>
<select
name=
"lvlEng"
id=
"lvlEng"
>
<select name="estado" id="estado">
<option
value=
""
>
Seleccione una opcion
</option>
<option value="">Seleccione una opcion</option>
<c:forEach
var =
"lvl"
begin =
"1"
end =
"5"
>
<c:forEach items="${estadoP}" var="estados">
<option
value=
"${lvl}"
${
param
.
lvlEng =
=
lvl
?
"
selected
"
:
""}
>
${lvl}
</option>
<option value="${estados}" ${param.estado == estados ? "selected" : ""}>${estados.getEstado()}</option>
</c:forEach>
</c:forEach>
</select>
</select>
<label
for=
"lvlTec"
>
Nivel de Tecnologia
</label>
<label for="dispo">Disponbilidad</label>
<select
name=
"lvlTec"
id=
"lvlTec"
>
<select name="dispo" id="dispo">
<option
value=
""
>
Seleccione una opcion
</option>
<option value="">Seleccione una opcion</option>
<c:forEach
var =
"lvl"
begin =
"1"
end =
"5"
>
<c:forEach items="${disponibilidades}" var="disponibilidad">
<option
value=
"${lvl}"
${
param
.
lvlTec =
=
lvl
?
"
selected
"
:
""}
>
${lvl}
</option>
<option value="${disponibilidad}" ${param.dispo == disponibilidad ? "selected" : ""}>${disponibilidad.getDescripcion()}</option>
</c:forEach>
</select>
<label for="tecId">Tecnologias</label>
<select name="tecId" id="tecId">
<option value="">Seleccione una opcion</option>
<c:forEach items="${tecnologias}" var="tecnologia">
<option value="${tecnologia.id}" ${param.tecId == tecnologia.id ? "selected" : ""}>${tecnologia.nombre}</option>
</c:forEach>
</select>
<label for="instId">Institucion Educativa</label>
<select name="instId" id="instId">
<option value="">Seleccione una opcion</option>
<c:forEach items="${institucionesEducativas}" var="inst">
<option value="${inst.id}" ${param.instId == inst.id ? "selected" : ""}>${inst.nombre}</option>
</c:forEach>
</select>
<br>
<label for="lvlEng">Nivel de Ingles</label>
<select name="lvlEng" id="lvlEng">
<option value="">Seleccione una opcion</option>
<c:forEach var = "lvl" begin = "1" end = "5">
<option value="${lvl}" ${param.lvlEng == lvl ? "selected" : ""}>${lvl}</option>
</c:forEach>
</select>
<label for="lvlTec">Nivel de Tecnologia</label>
<select name="lvlTec" id="lvlTec">
<option value="">Seleccione una opcion</option>
<c:forEach var = "lvl" begin = "1" end = "5">
<option value="${lvl}" ${param.lvlTec == lvl ? "selected" : ""}>${lvl}</option>
</c:forEach>
</select>
<label for="expInMonths">Experiencia en general</label>
<select name="expInMonths" id="expInMonths">
<option value="">Seleccione una opcion</option>
<option value="6">Mayor a 6 meses</option>
<option value="12">Mayor a 1 año</option>
<option value="36">Mayor a 3 años</option>
<option value="60">Mayor a 5 años</option>
</select>
</form>
</div>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Nombre</th>
<th scope="col">Disponibilidad</th>
<th scope="col">Nivel de Ingles</th>
<th scope="col">Experiencia</th>
<th scope="col">Tecnologias</th>
<th scope="col">Estado</th>
</tr>
</thead>
<tbody>
<c:forEach items="${postulantes}" var="postulante" varStatus="staPost">
<tr>
<th scope="row">${staPost.index + 1}</th>
<td>${postulante.nombre} ${postulante.apellido}</td>
<td>${postulante.disponibilidad.getDescripcion()}</td>
<td>${postulante.nivelIngles}</td>
<td>${postulante.experienciaMeses}<op></td>
<td>
<c:forEach items="${postulante.tecnologias}" var="detalle_tecnologia" varStatus="staTec">
${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""}
</c:forEach>
</td>
<td>${postulante.estado.getEstado()}</td>
<td><a href="/postulante/${postulante.id}">Ver</a></td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<nav aria-label="Page navigation example">
<ul class="pagination">
<c:forEach begin="1" end="${pages}" var="nro">
<li class="page-item ${(param.nroPagina == null and nro == 1) or param.nroPagina == nro-1 ? 'active' : ''}"><a class="page-link" href="javascript:buscarPagina(${nro})">${nro}</a></li>
</c:forEach>
</c:forEach>
</select>
</ul>
<label
for=
"expInMonths"
>
Experiencia en general
</label>
</nav>
<select
name=
"expInMonths"
id=
"expInMonths"
>
</div>
<option
value=
""
>
Seleccione una opcion
</option>
</layout:put>
<option
value=
"6"
>
Mayor a 6 meses
</option>
<layout:put block="scripts" type="APPEND">
<option
value=
"12"
>
Mayor a 1 año
</option>
<script>
<option
value=
"36"
>
Mayor a 3 años
</option>
function habilitarLvlTec(){
<option
value=
"60"
>
Mayor a 5 años
</option>
//si se selecciono una tecnologia entonces permitir seleccionar un nivel
</select>
lvlTec.disabled = tecId.value == false
if(lvlTec.disabled){
lvlTec.firstElementChild.selected=true;
}
</form>
}
</div>
function buscarPagina(nro){
<table
class=
"table"
>
nro--
<thead>
const aBuscar = 'nroPagina='+nro
<tr>
if(!location.search) location.search = "?"+aBuscar
<th
scope=
"col"
>
#
</th>
const inicial = location.search.search(aBuscar);
<th
scope=
"col"
>
Nombre
</th>
if(inicial==-1){//si no se encuentra y hay otros queries
<th
scope=
"col"
>
Disponibilidad
</th>
location.search = "&"+aBuscar
<th
scope=
"col"
>
Nivel de Ingles
</th>
}
<th
scope=
"col"
>
Experiencia
</th>
location.search.replace('nroPagina=',aBuscar)
<th
scope=
"col"
>
Tecnologias
</th>
}
<th
scope=
"col"
>
Estado
</th>
const tecId = document.querySelector("#tecId");
</tr>
const lvlTec = document.querySelector("#lvlTec");
</thead>
tecId.addEventListener('change',habilitarLvlTec);
<tbody>
habilitarLvlTec()
<c:forEach
items=
"${postulantes}"
var=
"postulante"
varStatus=
"staPost"
>
</script>
<tr>
</layout:put>
<th
scope=
"row"
>
${staPost.index + 1}
</th>
</layout:extends>
<td>
${postulante.nombre} ${postulante.apellido}
</td>
<td>
${postulante.disponibilidad.getDescripcion()}
</td>
<td>
${postulante.nivelIngles}
</td>
<td>
${postulante.experienciaMeses}
<op></td>
<td>
<c:forEach
items=
"${postulante.tecnologias}"
var=
"detalle_tecnologia"
varStatus=
"staTec"
>
${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""}
</c:forEach>
</td>
<td>
${postulante.estado.getEstado()}
</td>
<td><a
href=
"/postulante/${postulante.id}"
>
Ver
</a></td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<nav
aria-label=
"Page navigation example"
>
<ul
class=
"pagination"
>
<c:forEach
begin=
"1"
end=
"${pages}"
var=
"nro"
>
<li
class=
"page-item ${(param.nroPagina == null and nro == 1) or param.nroPagina == nro-1 ? 'active' : ''}"
><a
class=
"page-link"
href=
"javascript:buscarPagina(${nro})"
>
${nro}
</a></li>
</c:forEach>
</ul>
</nav>
</div>
</div>
<script>
function
habilitarLvlTec
(){
//si se selecciono una tecnologia entonces permitir seleccionar un nivel
lvlTec
.
disabled
=
tecId
.
value
==
false
if
(
lvlTec
.
disabled
){
lvlTec
.
firstElementChild
.
selected
=
true
;
}
}
function
buscarPagina
(
nro
){
nro
--
const
aBuscar
=
'nroPagina='
+
nro
if
(
!
location
.
search
)
location
.
search
=
"?"
+
aBuscar
const
inicial
=
location
.
search
.
search
(
aBuscar
);
if
(
inicial
==-
1
){
//si no se encuentra y hay otros queries
location
.
search
=
"&"
+
aBuscar
}
location
.
search
.
replace
(
'nroPagina='
,
aBuscar
)
}
const
tecId
=
document
.
querySelector
(
"#tecId"
);
const
lvlTec
=
document
.
querySelector
(
"#lvlTec"
);
tecId
.
addEventListener
(
'change'
,
habilitarLvlTec
);
habilitarLvlTec
()
</script>
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp
View file @
488c141e
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<!DOCTYPE html>
<layout:put block="contents" type="REPLACE">
<html>
<h2>${tecnologia.id == null ? "Agregar" : "Modificar"} Tecnologia</h2>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<!-- Bootstrap CSS -->
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
<title>
Agregar Tecnologia
</title>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Agregar Tecnologia
</h2>
<div class="p-3 mb-2 bg-light text-dark border border-light">
<div class="p-3 mb-2 bg-light text-dark border border-light">
<form:form action="/tecnologia/${tecnologia.id == null ? '' : tecnologia.id}" method="post" modelAttribute="tecnologia" class="row row-cols-lg-auto g-3 align-items-center">
<form:form action="/tecnologia/${tecnologia.id == null ? '' : tecnologia.id}" method="post" modelAttribute="tecnologia" class="row row-cols-lg-auto g-3 align-items-center">
<div class="col-12">
<div class="col-12">
<form:label
class=
"form-label visually-hidden"
path=
"nombre"
>
Nombre:
</form:label>
<form:input
type=
"text"
path=
"nombre"
class=
"form-control"
required=
"true"
placeholder=
"Nombre de la tecnologia"
/>
<form:label class="form-label visually-hidden" path="nombre">Nombre: </form:label>
<form:input type="text" path="nombre" class="form-control ${ mismoNombre ? 'is-invalid' : ''}" required="true" placeholder="Nombre de la tecnologia"/>
<div id="validationServerUsernameFeedback" class="invalid-feedback">
Este nombre ya existe
</div>
</div>
</div>
<div class="col-12">
<div class="col-12">
<input type="submit" value="Guardar" class="btn btn-primary"/>
<input type="submit" value="Guardar" class="btn btn-primary"/>
</div>
</div>
</form:form>
</form:form>
</div>
</div>
</div>
</layout:put>
</layout:extends>
\ No newline at end of file
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/tecnologias.jsp
View file @
488c141e
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<html
lang=
"en"
>
<layout:extends name="layouts/base.jsp">
<head>
<layout:put block="contents" type="REPLACE">
<meta
charset=
"UTF-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<title>
Tecnologia
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>Lista de Tecnologias</h2>
<h2>Lista de Tecnologias</h2>
<div>
<div>
...
@@ -49,7 +38,5 @@
...
@@ -49,7 +38,5 @@
</tbody>
</tbody>
</table>
</table>
</div>
</div>
</div>
</layout:put>
</layout:extends>
</body>
</html>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment