Lets take your statement in two parts. A "man of morality." He certainly seems to be. He is offended by what he sees as adulterous disloyalty from his mother. He clearly believes that Claudius is a devil for having committed the sin of murder. He also believes that a person must confess and ask forgiveness for sins, suggesting that he adheres to a moral code. He tells his mother to confess, and is afraid to kill Claudius when he is in prayer, believing it will send Claudius to heaven. Hamlet is concerned with morality.
But is he himself "moral". Yes and no. He tells Ophelia that he is a sinner, calls himself a knave and a rogue, chastises his own sinful behavior. That said, he atones for his sins, apologizing to Laertes, admitting Laertes right to seek vengeance upon him, and finally seeking to do his duty to his father. So, yes, he is a man of morality.
Is he a man without action? For the majority of the play, yes. Even after he confirms that it is Claudius who committed the murder of his father, Hamlet hesitates. He claims it is because Claudius is in prayer, but he is still hesitating. After this moment, he continues to hesitate in his life, wondering if his continued existence is supposed "to be or not to be." He wants to commit suicide, but fear of the afterlife keeps him from doing so. It is the throes of his anger that he finally takes action, mistakenly killing Polonius. However wrong this moment is, it at least moves him forward, and Hamlet continues to take action in the second half of the play. He arranges his escape from Rosencrantz and Guildenstern, and takes action in the final stand-off with Laertes and in the killing of Claudius.