Navigation: h:commandButton image

Forum relativo ai framework per l'utilizzo della tecnologia JSP

Navigation: h:commandButton image

Messaggioda alesslud » ven ott 23, 2009 2:35 pm

Esempio di navigazione in base all'area di un'immagine cliccata.

L'esempio restituisce anche le coordinate x ed y del click su un'immagine.
Allegati
facesnavigationlink.zip
Testato con Eclipse Galileo e JBoss
(80.06 KiB) Scaricato 283 volte
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

index.jsp

Messaggioda alesslud » ven ott 23, 2009 2:35 pm

<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<head>
<link href="styles.css" rel="stylesheet" type="text/css"/>
<f:loadBundle basename="com.aquilasiti.messages" var="msgs"/>
<title>
<h:outputText value="#{msgs.title}"/>
</title>
</head>

<body>
<h:form>
<h:outputText value="#{msgs.istruzioni}"></h:outputText>
<h:commandButton image="027.jpg"
actionListener="#{myBean.listen}"
action="#{myBean.act}"/>
</h:form>
</body>
</f:view>
</html>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

error.jsp

Messaggioda alesslud » ven ott 23, 2009 2:36 pm

<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<head>
<link href="site.css" rel="stylesheet" type="text/css"/>
<f:loadBundle basename="com.aquilasiti.messages" var="msgs"/>
<title>
<h:outputText value="#{msgs.title}"/>
</title>
</head>

<body>
<h:form>
<h:outputText value="#{msgs.errorpage}"
styleClass="pageTitle" />
<h:outputText value="#{myBean.output}"
styleClass="pageTitle" />
</h:form>
</body>
</f:view>
</html>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

result.jsp

Messaggioda alesslud » ven ott 23, 2009 2:36 pm

<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
<head>
<link href="site.css" rel="stylesheet" type="text/css" />
<f:loadBundle basename="com.aquilasiti.messages" var="msgs" />
<title><h:outputText value="#{msgs.title}" /></title>
</head>

<body>
<h:form>
<h:outputText value="#{msgs.resultpage}"
styleClass="pageTitle" />
<h:outputText value="#{myBean.output}"
styleClass="pageTitle" />
</h:form>
</body>
</f:view>
</html>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

styles.css

Messaggioda alesslud » ven ott 23, 2009 2:36 pm

.pageTitle {
vertical-align: top;
text-align: middle;
font-style: italic;
font-size: 2em;
}
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

web.xml

Messaggioda alesslud » ven ott 23, 2009 2:36 pm

<?xml version="1.0"?>

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

faces-config.xml

Messaggioda alesslud » ven ott 23, 2009 2:37 pm

<?xml version="1.0"?>

<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>result</from-outcome>
<to-view-id>/result.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>error</from-outcome>
<to-view-id>/error.jsp</to-view-id>
</navigation-case>
</navigation-rule>

<managed-bean>
<managed-bean-name>myBean</managed-bean-name>
<managed-bean-class>com.aquilasiti.MyBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

</faces-config>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

messages.properties

Messaggioda alesslud » ven ott 23, 2009 2:37 pm

title=Test sui link
resultpage = Hai colpito nel segno: le coordinate che hai cliccato con il mouse sono le seguenti:
errorpage = Hai lisciato: le coordinate che hai cliccato con il mouse sono le seguenti:
istruzioni = Per provare il seguente esempio prova a cliccare sulla parte in basso a destra. Ti risponderà "Hai colpito nel segno" e le coordinate del punto che hai colpito.
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

MyBean.java

Messaggioda alesslud » ven ott 23, 2009 2:37 pm

package com.aquilasiti;

import java.awt.Point;
import java.awt.Rectangle;
import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

public class MyBean {
private String outcome = null;
private String output;

public String getOutput() {
return output;
}

public void setOutput(String output) {
this.output = output;
}

private Rectangle colpitoRect = new Rectangle(470, 430, 440, 440);

public void listen(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
String clientId = e.getComponent().getClientId(context);
Map requestParams = context.getExternalContext()
.getRequestParameterMap();

int x = new Integer((String) requestParams.get(clientId + ".x"))
.intValue();
int y = new Integer((String) requestParams.get(clientId + ".y"))
.intValue();
output = "asse x: " + x + ", asse y: " + y;
outcome = null;

if (colpitoRect.contains(new Point(x, y)))
outcome = "result";
else
outcome = "error";
}

public String act() {
return outcome;
}
}
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

immagine usata nell'esempio

Messaggioda alesslud » ven ott 23, 2009 2:38 pm

Questa è l'immagine utilizzata nell'esempio
Allegati
027.jpg
027.jpg (70.59 KiB) Osservato 6903 volte
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am


Torna a JSF e Struts

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron