hotti: CGI mit Ajax-Erweiterung (Design Patterns)

Beitrag lesen

Nein. Die Frage, welches Entwurfsmuster passt, ist immer noch offen.

Zeig Code - dann können wir diskutieren!

Gerne!

Das CGI-Script

  
#!/usr/bin/perl  
use myCGI;  
use strict;  
use warnings;  
my $u = myCGI::Einmaleins->new;  
print $u->header, $u->response;  
# thats all  

Method response in Klasse myCGI::Einmaleins

  
sub response{  
	my $self = shift;  
  
	if($self->{AJAX}){  
		# gebe nur das Resultat aus  
		if(scalar @{$self->{ERR}}){  
			return join(",", @{$self->{ERR}});  
		}  
		else{  
			return $self->{TEMPLVAL}->{ergebnis};  
		}  
	}  
	else{  
		if(scalar @{$self->{ERR}}){  
			return sprintf "<p>%s</p>", join "</p><p>", @{$self->{ERR}};  
		}  
		else{  
			$self->{TEMPLVAL}->{action} = $ENV{SCRIPT_NAME};  
  
			# Liste mit den Platzhaltern durchgehen  
			# wenn Werte anliegen, werden die Platzhalter ersetzt  
			foreach my $s(@{$self->{TEMPLIST}}){  
				$s = defined $self->{TEMPLVAL}->{$s} ? $self->{TEMPLVAL}->{$s} : '';  
			}  
			return sprintf $self->{TEMPLATE}, @{$self->{TEMPLIST}};  
		}  
	}  
}