webForumDet fria alternativet

Vilka tekniker använder ni?

8 svar · 883 visningar · startad av thojo280

thojo280Medlem sedan dec. 200461 inlägg
#1

Detta är ingen relevant tråd egentligen, man av nyfikenhet undrar jag vilka tekniker ni använder er utav för att separera logik och presentation vid utveckligen av webbapplikationer - och vilken utvecklingsplattform är egentligen "bäst"?

LimeMedlem sedan sep. 2001961 inlägg
#2

Det beror mycket på vad det är för typ av applikation...

De mesta vi gör är väldigt datadrivet, både in och ut. Vi änvänder därför oftast en blandning av Struts, JSP/JSF och servlets. Det mesta i dataväg förmedlas med någon form av värdeobjekt i form av bönor. Vi har en del andra tekniker också. T.ex. använder vi Hibernate (http://www.hibernate.org/) för att se till att viss data är persistent.

Vad vi också gjort är att annamat taglibs. Dels har vi en del egna men mycket kommer från Apache Common. Input, i18n och mail är några av de vi använder ofta.

thojo280Medlem sedan dec. 200461 inlägg
#3

Intressant. Själv har jag fastnat i ett och samma spår då jag nästan uteslutande arbetar med Servlets och XML/XSL. Servleten agerar controller, dvs den tar hand om så att instuktionerna slussas vidare till det som ska göras. Jobbet görs, och returnerar ett XML-dokument som parsas med ett XSL-dokument. Borde jag kolla närmare på JSF och JSTL?

LimeMedlem sedan sep. 2001961 inlägg
#4

Absolut!

Det finns inget som säger att du måste sluta med tekniken XML/XSL[t]. Det finns funktioner i både JSF och JSTL som stödjer XML-användning på ett smutt sätt.

thojo280Medlem sedan dec. 200461 inlägg
#5

Tack för svaret. Hur hanterar du kopplingen mellan ett inmatningsfält (textfield, select box mm) och själva datan i databasen? Jag har inte löst det på något bra sätt.

LimeMedlem sedan sep. 2001961 inlägg
#6

thojo280 skrev:

Tack för svaret. Hur hanterar du kopplingen mellan ett inmatningsfält (textfield, select box mm) och själva datan i databasen? Jag har inte löst det på något bra sätt.

När det behövs så har vi ett interface specat som har ett antal metoder som gör att det går att få tag på vilken databas och vilken tabell som skall användas.

Sedan finns det två sätt att göra det på.

Det ena sättet vi gör det på är att ha en metod som returnerar en Map som innehåller en FieldDescriptor. Denna klass talar om för en DataObjectHandler vilka fältnamn och typ som dataobjektet innehåller och från detta så hanteras data i databasen. Det går också att göra så att man lägger ett fält med "operation" som talar om ifall det är en update, create eller delete.

Den andra lösningen, som är helt färsk, använder sig av reflektion på DO:arna...

Eftersom vi använder oss av Common Input för att hantera data i fält o.s.v. så heter allt samma sak.

Exempel:

I databasen har vi en tabell som heter UserData med följande fält:
id - int [pk]
namn - varchar
email - varchar

Detta mappas till en klass som ser ut såhär:

public class UserDataDO {
	int id;
	String name;
	String email;
	public UserDataDO(int id, String name, String email) {
		this.id = id;
		this.name = name;
		this.email = email;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}

och i JSP-sidan ser det ut såhär:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/taglibs/input-1.0" prefix="input" %>
<jsp:useBean id="userDataBean" class="lime.UserDataDO" type="lime.UserDataDO" scope="session">
<jsp:setProperty name="userDataBean" property="id" value="666"/>
</jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>User data edit</title>
</head>
<body>
<input:form bean="userDataBean" action="userDataView.jsp" method="POST" name="userForm">
<input:hidden name="id" bean="userDataBean" default="666"/>
ID: <%=userDataBean.getId() %><br/>
Namn: <input:text name="name" bean="userDataBean"/><br/>
EMail: <input:text name="email" bean="userDataBean"/>
<input type="submit" value="Visa">
</input:form>
</body>
</html>
thojo280Medlem sedan dec. 200461 inlägg
#7

Tack så mycket för det urförliga svaret. Jag ska titta närmare på det.

Aleph_OneMedlem sedan juni 2003372 inlägg
#8

Lime,
Vilken IDE använder du för JSF utvecklingen?
De jag har testat hittills är inte helt klockrena. RSA tex är rätt schysst, men som navigeringshanteringen är fortfarande att knacka direkt i xml koden (och med nackdelen att dom hakar in ibm hookar här och var x( ).

LimeMedlem sedan sep. 2001961 inlägg
#9

Aleph_One skrev:

Lime,
Vilken IDE använder du för JSF utvecklingen?
De jag har testat hittills är inte helt klockrena. RSA tex är rätt schysst, men som navigeringshanteringen är fortfarande att knacka direkt i xml koden (och med nackdelen att dom hakar in ibm hookar här och var x( ).

Jo, RSA är inte helt fel men personligen gillar jag MyEclipse-pluginen till Eclipse bättre. Renare och lite lägre tröskel innan jag kom igång.

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)